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

4
命令git log --graph在输出左侧以基于文本的图形表示的方式显示提交日志。
关于选项--all 来限制提交输出,git文档 表示:
引用:

提交限制

除了使用说明中解释的特殊符号指定应列出的一系列提交之外,还可以应用其他提交限制。

--all

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

我不太理解使用此选项时获得的输出。 refs/所有引用是什么? git log --graph 相关于提交限制的默认值是什么? 关于提交限制,git log --graphgit log --graph --all有什么区别?

听起来像是与当前的一个特殊分支或所有分支有关。 - dhein
2个回答

5

--all 会包括来自所有分支的提交,包括 refs/tagsrefs/remotes

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

git log --graph --all

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

git log --graph

* 456 (master)
|
* 123           

关于提交限制,在这两个命令之间没有区别:如果您不指定限制,所有提交都将被显示。


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/中的引用)。
关于提交限制:没有限制,您将获得整个历史记录(从当前分支访问)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接