Git:'git log --graph'和'git log --graph --all'有什么区别?

时间:2015-08-06 13:13:34

标签: git git-log

命令:git log --graph,在输出的左侧显示带有基于文本的图形表示的提交日志。

关于限制提交输出的选项--allgit doc说:

  

提交限制

     

除了指定应使用的列表提交的提交范围外   特殊符号在说明中解释,附加提交   可以适用限制。

     

- 所有

     

假装refs/中的所有引用都在命令行中列为<commit>

我不太清楚我使用此选项获得的输出。

refs/ 的所有参考是什么?

与提交限制相关的 git log --graph 的默认值是什么?

关于提交限制 git log --graphgit log --graph --all之间有什么区别?

2 个答案:

答案 0 :(得分:4)

--all将包含所有分支机构的提交,包括refs/tagsrefs/remotes

如果您只想要所有分支,则可以使用--branches

git log --graph --all

* 456 (master)
|
* 123           * 789 (feature-1)
|  _____________|
| /
|/

git log --graph

* 456 (master)
|
* 123           

关于提交限制,两个命令之间没有区别:如果您没有指定限制,则会显示所有提交。

答案 1 :(得分:1)

使用--all选项可以查看所有本地分支(我添加了--oneline以获得更短的示例):

例如,使用master上的提交和两个功能分支(每个都有一个提交):

$ git log --graph --oneline      
* 389c7c6 1st commit             // <- branch master

$ git log --graph --all --oneline 
* 03a21a0 feature2 stuff         // <- branch feature2
| * 2c848b3 feature1 stuff       // <- branch feature1
|/  
* 389c7c6 1st commit             // <- branch master

这与git log --graph master feature1 feature2相同:--all选项会为您添加所有本地分支和标记(.git/refs/中的参考号)。

关于提交限制:无限制,您将获得整个历史记录(可从当前分支访问)。