如果我使用gitk --all
查看提交图,那就非常复杂了(我做了很多分支和合并只是为了在一个小人项目上的乐趣)。现在我想知道,如果有办法简化这个图表吗?
在删除不必要的分支的意义上简化(分支在某些时候都被合并为master)
答案 0 :(得分:3)
我很确定你正在寻找的是第一个父选项,这会导致Git在遍历历史时只走到合并提交的第一个父级。您可以从命令行使用它:
git log --first-parent
gitk --first-parent
或在gitk中:查看>新视图...>限制为第一个父母(在杂项下)。
当然,您也可能 想要使用--all
; gitk <commit>...
仅显示从给定提交开始的历史记录(可以指定为分支),并且没有参数,它默认为当前分支。
如果您对要查看的历史记录有更准确的了解,可以使用man git-log
中“历史记录简化”下列出的其他一些选项。值得注意的是,--ancestry-path
可用于仅显示直接祖先路径:git log --ancestry-path commit1..commit2
。 gitk
通常采用与git-log
相同的提交规范选项,后者依次从git-rev-list
继承它们。
答案 1 :(得分:1)
如果您想了解整个历史记录, - 所有可能过多。这里有一些选项可以帮助您了解回购中的烹饪内容:
git --simplify-by-decoration --all
gitk --simplify-by-decoration --all
它将显示所有“标记”的提交带有引用或标记,包括那些未标记需要理解祖先的内容(非常有用)。见git log history simplification
回答您可以使用的确切问题:
git --simplify-merges --all
gitk --simplify-merges --all
但它包含在 - 简化装饰
中我大量使用它(在命令行上),所以我使用别名:
git config --global alias.logs 'log --simplify-by-decoration --graph --color --oneline --decorate'
使用它:
git logs --all
git logs master..development