设为首页 收藏本站
查看: 780|回复: 0

[经验分享] 一直在路上

[复制链接]

尚未签到

发表于 2018-1-13 07:35:31 | 显示全部楼层 |阅读模式
  工作以来,源代码管理工具使用过SVN,TFS,Git,最后独爱Git
  本篇博客总结下自己工作中使用到的Git命令,主要目录如下:


  • 获取远程代码
  • 查看/修改配置信息
  • 查看/提交修改的代码
  • 查看每次提交明细
  • 版本回退
  • 分支管理
  • 辅助命令
  • git重命名分支
  • 拉取远程分支到本地
  • 指定本地分支和远程分支关联问题
  1.获取远程代码
  一般每个使用Git作为源代码管理工具的公司,都会有自己的Git服务器,当我们获得项目的权限时,第一步肯定会把该项目的代码下载到本地,
  命令如下:
  

git clone https://github.com/zwwhnly/WeiXinMPSDK.git  

  当出现如下窗口时,代表代码已下载完成

  此时,你会发现本地增加了一个WeiXinMPSDK的文件夹,继续执行如下命令切换到代码目录
  

cd WeiXinMPSDK/  

  此时会出现如下所示界面,代表切换到了代码的master分支:

  如果服务器代码有了更新,需要获取最新代码,执行如下命令:
  

git pull  

  此时会出现如下所示界面,出现Already up-to-date代表代码已经是最新的版本

  2.查看/修改配置信息
  查看所有配置信息命令如下:
  

git config --list  

  查看某个配置信息命令如下:
  

git config user.name  

  修改配置信息命令如下,以修改用户名和邮箱为例:
  

git  config --global user.name  “xxx”  
git  config --global user.email xxx@foxmail.com
  

  3.查看/提交修改的代码
  首先需要执行如下命令,知道本地代码的状态
  

git status  

  如果没有修改过任何代码,则会出现如下图所示的情况

  如果有过修改,则会出现如下图所示的情况

  此时,先执行git add 命令,将文件跟踪/暂存起来
  

git add .  


  此时,再次修改该文件,比如给方法添加了注释,再次运行git status命令,会看到该文件出现了两次,一次是未暂存,一次算已暂存,
  实际上git 只暂存了运行git add命令时的版本,如果现在提交代码,那么提交的是添加注释前的版本
  所以,运行了git add命令之后又修改了的文件,需要重新运行git add 命令把最新版本的代码重新暂存起来

  此时,修改的代码还未提交,必须执行git commit命令才算提交,双引号中间的内容可以根据每次修改的代码自定义
  

git commit -m "git commit test"  

  为了更加快捷,git允许add命令和commit命令一起执行来提交代码,如下所示:
  

git commit  -a -m  "git commit test"   

  执行完commit命令后的代码,在远程服务器是获取不到的,如果想提交至远程服务器,必须执行git push命令
  

git push origin master  

  说明:有些情况下,提交代码至远程服务器需要强制push
  

git push --force origin master  

  4.查看每次提交明细
  提交代码之后,如果想知道自己修改的明细,可以执行gitk命令查看提交历史,并看出自己修改了哪一部分代码
  

gitk  


  查看修改的代码时,会发现中文乱码问题,如下所示:

  执行如下git命令,解决中文乱码问题
  

git config --global core.quotepath false  
git config --global gui.encoding utf-8
  
git config --global i18n.commitencoding utf-8
  
git config --global i18n.logoutputencoding gbk
  
export LESSCHARSET=utf-8
  

  此时,再执行gitk命令查看时,会发现中文可以正常显示

  5.版本回退
  有时候我们提交代码后,会发现提交错了,需要版本回退
  首先,我们执行git log命令查看提交历史,每次提交都有个对应的commitid
  

git log  


  如果想单行显示,执行如下命令:
  

git log --pretty=oneline  


  不管是哪种展现方式,黄色字体的部分代表每次的commitid,确定好自己要回退到的版本,将commitid复制出来,执行如下回退命令:
  

git reset --hard 4751a9ae0b81e98e262064b308cd9372bc58b04f  

  6.分支管理
  查看本地分支:
  

git branch  

  查看远程分支:
  

git branch -r  

  查看所有分支:
  

git branch -a  

  创建分支,如创建dev分支
  

git branch dev  

  切换分支,如切换到刚刚创建的dev分支
  

git checkout dev  

  删除分支,如删除刚刚创建的dev分支
  

git branch -d dev  

  注意:不能删除当前所在的分支,如你在dev分支时是不能删除dev分支的
  创建分支并切换分支,如创建dev分支并切换到dev分支
  

git checkout -b dev  

  合并某分支代码到当前分支,如正在dev分支,合并master分支的代码到dev分支:
  

git merge master  

  7.辅助命令
  清空git bash历史命令
  

clear  

  打开code所在的资源管理器
  

start .  

  8.git重命名分支
  有时候,我们创建分支时会把分支名字写错了,那么我们怎么修改分支名称呢?
  修改分支名称分以下两种场景:
  场景1:只修改本地分支名称,远程还没有这个分支
  执行如下命令即可把本地分支dev修改为develop
  

git branch -m dev develop  

  场景2:远程已有这个分支
  在git中,重命名远程分支,其实就是先删除远程分支,然后重命名本地分支,再重新提交一个远程分支
  命令如下:
  

git push --delete origin dev  

  
git branch -m dev develop
  

  
git push origin develop
  

  9.拉取远程分支到本地
  首先执行命令拉取远程分支代码到本地:
  

git fetch origin feature-offline1.1:feature-offline1.1  

  其中,feature-offline1.1为分支名称,拉取完成后执行git checkout命令切换到新创建的feature-offline1.1分支,
  

git checkout feature-offline1.1  

  然后执行命令,指定下本地分支与远程分支的关系
  

git branch --set-upstream-to=origin/feature-offline1.1 feature-offline1.1  

  10.指定本地分支和远程分支关联问题
  新建一个本地分支后,必须要做远程分支关联,不然git pull,git push不能正确使用,会分别提示如下信息:


  解决方法:
  

git branch --set-upstream feature-possprint2 origin/feature-possprint2  

  其中,feature-possprint2为分支名称
  执行完命令后,再次执行git pull,git push就会正常,如下所示:

  参考链接:http://blog.csdn.net/hshl1214/article/details/51074206

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-434526-1-1.html 上篇帖子: idea,git的使用 下篇帖子: [git 学习篇] git remote add origin错误
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表