sonyet 发表于 2018-1-16 07:48:43

git命令使用

  更全可以参考:
  http://blog.csdn.net/sunboy_2050/article/details/7529022
  如果你刚进入一个公司,公司是使用git来管理代码的,而你又没有 接触过git,那么这文章你就会用到了。

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

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

[*]$git branch
https://images0.cnblogs.com/blog/333490/201302/05142711-7c35869a82f944efbce2f10f35d2658b.png
  查看当前工作的是在哪个分支。比如上图我的工作分支是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]
查看完整版本: git命令使用