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

[经验分享] git命令使用

[复制链接]

尚未签到

发表于 2018-1-16 07:48:43 | 显示全部楼层 |阅读模式
  更全可以参考:
  http://blog.csdn.net/sunboy_2050/article/details/7529022
  如果你刚进入一个公司,公司是使用git来管理代码的,而你又没有 接触过git,那么这文章你就会用到了。

  • $git clone git@192.168.1.128:kernel_imx.git [path]
  从远程仓克隆一份代码到本地当前目录(或指定路径)。

  • git pull (eg: git pull origin deveplop)
  更新到最新版本(eg: 将origin版本库代码更新到本地的develop分支)

  • $git branch

  查看当前工作的是在哪个分支。比如上图我的工作分支是develop分支。
  这里还有其它常用的branch命令,如:
  $git branch -m oldBranch newBranch
  此命令将oldBranch分支重命名为newBranch。
  $git branch tmpBranch
  此命令新建一个tmpBranch分支。
  $git branch -D tmpBranch
  此命令是删除tmpBranch分支。

  • $git status
  此命令是查看当前目录的代码和本地库代码的差别。比如你从服务器将代码弄到PC机上了,本地就会建立一个本地库来管理你的代码,而你把代码弄下来后之后修改了,或者是新增加了代码了,你就可以使用这个命令来查看你修改了什么文件或者增加删除了什么文件(至于修改的内容,待会再说diff这个命令)。

  • $git diff
  此命令是用来查看你在本地库的基础上修改文件的内容有哪些。这也是做补丁包的方法之一。比如你使用$git diff > gitdiff.patch,就可以重定向到gitdiff.patch,这个文件就是一个标准的补丁包文件。当然不用">"重定向,就会输出到屏幕上。关于补丁文件的格式,其它的随笔会提到。
  如果你修改了很多代码,diff出来的内容太多,但是你只想看某一个文件的修改内容,那就在后面加上文件名。如:
  $git diff filename
  如果你想查看你们公司某两个版本的修改,可以使用:
  $git diff 版本号1 版本号2
  如:$git diff aaece30c0728bdb243da6141cd9af801769ab30e a1fe928fa71c72eebca4d65e81ae062d0f9541e0
  其中两个很长的字符串就是独一无二的版本号。(在哪里可以看见?待会说说log命令)
  也可以使用:
  $git diff 版本号1:filename 版本号2:filename
  比较两个不同版本号的finename文件的不同之处。当然以上所说的diff结果都是生成的补丁文件,你要会看才行,其实你看下补丁文件语法,其实非常简单。

  • $git commit
  此命令是将修改后的代码提交到本地代码库中。比如你对git status下看见的文件修改没有问题,认为代码OK了,那么使用此命令可以将其提交到本地代码库中(ps:还是本地的哦)。比如:
  $git commit -a
  提交所有(all)修改过的文件到本地库(ps:这里不包含你增加或者删除的文件,只是修改过的文件)。当然也可以不用全部提交,使用如下命令:
  $git commit filename
  此命令用于提交某个文件,也可以使用$git commit filename1 filename2 filename3 来提交多个单个文件(文件夹我倒是没有试过)。这里还要注意,commit后不是就完了,而是还出来一个界面让你顺便写几个日志,方便以后log命令来查看提交的新版本到底修改了些什么。练习时你可以随便写(但不可以不写),但提交公司的代码可不要乱写,这个就像是一段程序的注释样,不写明,谁知道你改了些什么是吧?!写完后,根据提示,ctrl+o写入,输入保存的文件名,再回车保存,然后再ctrl+x退出,你修改的新版本已经提交到本地代码库中了。但是别人还看不见你提交的代码。
  $git push origin branchName
  此命令是提交本地代码库分支到服务器对应的分支上(origin是什么就不清楚了,没有去深究)。此命令需慎重,提交前一定要先$git branch,看看是在什么分支上,分支名也需要和当前分区相同。

  • $git checkout
  如果后面跟的是分支名,则是切换到某个分支,如果跟的是很长的版本号(字符串),则是切换到此版本号上,但是此时当前分支就变了,可以说是没有分支,因为此时代码根本就没法编译了,可以用$git branch查看下。所以还需要使用branch命令新建一个分支,然后再用checkout来切换到新分支上,就可以编译了。
  另外,恢复文件修改,还原到本地库的命令为:
  $git checkout -- filename

  • $git log
  不用说了,查看历史提交的版本日志。太多的话可以用">"重定向。commit 后面接的长字符串就是版本号。
  $git log --stat
  也查看版本修改了哪些文件。

  • $git update-index --assume-unchanged filename
  此命令是使指定的文件不在git管理的范围内。
  另外,关于git 命令终端输出颜色的问题,这里也提提,这对git diff这样的命令是非常有用的,不同颜色可以区分。可以使用命令:
  $git config --global color.ui auto
  设置成auto。这样就容易区分了。
  已经可以了,常用的就这些了。写的都是我的理解,希望能帮上正在探索的你们。

运维网声明 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-435558-1-1.html 上篇帖子: GIT生成 SSH Key步骤 下篇帖子: 本地Git服务器的搭建及使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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