Git 如何";吉特日志;整个存储库,而不仅仅是您所在的分支?

Git 如何";吉特日志;整个存储库,而不仅仅是您所在的分支?,git,Git,问题很简单:我想查看git log的输出,但要查看整个存储库的输出。目前它只显示我所在分支中的变更集:git log--all--source--graph 例如,如果我能在存储库中看到最后100次提交,无论我在哪个分支上,也不管这些提交属于哪个分支,那就太完美了。这可能吗?我不知道是否有一个命令可以执行此操作。此外,由于提交可能被交错,因此可能会非常混乱 我写了一个小程序,打印出类似这样的内容,但格式适合graphviz的dot命令,为我提供了存储库历史的图形视图。你可以试试。该脚本相当简单,

问题很简单:我想查看
git log
的输出,但要查看整个存储库的输出。目前它只显示我所在分支中的变更集:
git log--all--source--graph


例如,如果我能在存储库中看到最后100次提交,无论我在哪个分支上,也不管这些提交属于哪个分支,那就太完美了。这可能吗?

我不知道是否有一个命令可以执行此操作。此外,由于提交可能被交错,因此可能会非常混乱


我写了一个小程序,打印出类似这样的内容,但格式适合graphviz的
dot
命令,为我提供了存储库历史的图形视图。你可以试试。该脚本相当简单,因此您可以对其进行修改,以便以线性格式打印相同的信息(这就是您要查找的信息)

尝试一下此命令:

git log --all --graph --decorate --pretty=oneline --abbrev-commit
您已经用
--all--graph
获得了正确的开始。添加
--decoration
将显示指向提交的任何分支或标记,另外两个,
--pretty=oneline--abbrev commit
只是为了清理和压缩输出

最好在命令中包含
--pretty
,因为如果使用自定义格式,
--decoration
将不起作用

如果这是一个您将经常使用的命令,那么您实际上可以添加一个别名,以便在不键入全部内容的情况下易于重用。例如,将以下内容添加到
~/.gitconfig

[alias]
  history = "git log --all --graph --decorate --pretty=oneline --abbrev-commit"

然后您可以使用
git history
获得格式良好的输出。

您还可以使用
gitk--all
显示所有提交,这也是您所需要的。

您可以使用
--oneline
作为拼写
--pretty=oneline--abbrev commit
的另一种方式,并且可以使用
git history-n 100
来限制您看到的提交数量。