问题很简单:我希望看到git log
的输出,但是对于整个存储库。目前它只显示我所在的分支中的变更集:git log --all --source --graph
。
例如,如果我能看到存储库中的最后100个提交,无论我在哪个分支以及这些提交属于哪个分支,那将是完美的。这可能吗?
答案 0 :(得分:6)
尝试使用此命令:
git log --all --graph --decorate --pretty=oneline --abbrev-commit
您已经使用--all --graph
开始了。添加--decorate
将显示指向提交的任何分支或标记,其他两个--pretty=oneline --abbrev-commit
仅用于清理和压缩输出。
最好在命令中包含--pretty
,因为如果您使用自定义格式,--decorate
将无效。
如果这是一个你将要使用很多的命令,你实际上可以添加一个别名,这样就可以轻松地重复使用,而无需输入整个内容。例如,将以下内容添加到~/.gitconfig
:
[alias]
history = "git log --all --graph --decorate --pretty=oneline --abbrev-commit"
然后你可以使用git history
来获得格式良好的输出。
答案 1 :(得分:0)
我不知道是否有一个命令来执行此操作。此外,它可能会令人困惑,因为提交可能会交错。
我写了一个小ruby script来打印这样的东西,但是以适合graphviz的dot
命令的格式给我一个存储库历史的图形视图。你可以试试。该脚本非常简单,因此您可以修改它以便以线性格式打印相同的信息(这也是您要查找的信息)。
答案 2 :(得分:0)
您还可以使用gitk --all
来显示所有提交内容,以及您需要的内容。