查看分支
运行下面的命令可以得到你当前工作目录的分支列表:
$ git branch
在你正在工作的分支的名字前面,会有 * 号标示,比如:
$ git branch
bugfix
* master
说明有两个本地分支 bugfix 和 master, 其中当前的工作分支为 master。
查看项目的发展变化和比较差异
这一节介绍几个查看项目的版本库的发展变化以及比较差异的很有用的命令:
git show-branch
git diff
git whatchanged
我们现在为 robin, master 两个分支都增加一些内容。
$ git checkout robin
$ echo “Work, work, workd” >> hello
$ git commit -m “Some workd” -i hello
$ git checkout master
$ echo “Play, play, play” >> hello
$ echo “Lots of fun” >> example
$ git commit -m “Some fun” -i hello example
git show-branch 命令可以使我们看到版本库中每个分支的世系发展状态,并且可以看到每次提交的内容是否已进入每个分支。
$ git show-branch
这个命令让我们看到版本库的发展记录。
* [master] Some fun
! [robin] some work
–
* [master] Some fun
+ [robin] some work
*+ [master^] a new day for git
譬如我们要查看世系标号为 master^ 和 robin 的版本的差异情况,我们可以使用这样的命令:
$ git diff master^ robin
我们可以看到这两个版本的差异:
diff –git a/hello b/hello
index 263414f..cc44c73 100644
— a/hello
+++ b/hello
@@ -1,2 +1,3 @@
Hello World
It’s a new day for git
+Work, work, work
Note
关于 GIT 版本世系编号的定义,请参看 git help rev-parse 。
我们现在再用 git whatchanged 命令来看看 master 分支是怎么发展的。
$ git checkout master
$ git whatchanged
diff-tree 1d2fa05… (from 3ecebc0…)
Author: Vortune.Robin
Date: Tue Mar 21 02:24:31 2006 +0800
Some fun
:100644 100644 f24c74a… 7f8b141… M example
:100644 100644 263414f… 06fa6a2… M hello
diff-tree 3ecebc0… (from 895f09a…)
Author: Vortune.Robin
Date: Tue Mar 21 02:17:23 2006 +0800
a new day for git
:100644 100644 557db03… 263414f… M hello
从上面的内容中我们可以看到,在 robin 分支中的日志为 “Some work” 的内容, 并没有在 master 分支中出现。