我试图查看特定用户的提交,并希望从输出中删除用户完成的任何合并操作。我该怎么做?
我可以使用 git log --author=<name>检查用户的提交,但不能在输出中删除合并提交。
git log --author=<name>
PS: 合并冲突不会发生在有问题的回购工作流中,所有分支在合并到主服务器之前都会重新基础化,因此从输出中删除合并提交是安全的,同样,两个功能分支没有相互合并也增加了合并的可能性。
你可以省略与 --no-merges的合并:
--no-merges
git log --no-merges --author=<name>
有关详细信息,请参阅 Git 日志手册。
使用
git log --author=<name> --no-merges
此外,--first-parent选项可能会为您提供有用的结果:
--first-parent
第一父母 在看到合并提交时,只跟踪第一个父提交。方法时,此选项可以提供更好的概述 一个特定主题分支的演变,因为合并 进入一个主题分支往往只是关于调整到不时更新的上游,并且这个选项允许您 忽略个人的承诺 通过这样的合并历史。不能与——平分相结合。
观察员的问题已经得到了回答。I 解释对潜水者的回答。这个冗长的日志调用将为您提供一个很好的视图,该视图是通过提交者无合并过滤的。如果您愿意,可以使用 git 别名来驯服它。
我希望这对某些人有好处,而且不会受到反对票的过于苛刻的对待。
git log --no-merges --max-count=15 --pretty="format:%C(dim green) %<(9,trunc)%ar %C(bold magenta)%h %C(bold green)%<(12,trunc)%an %C(bold yellow)%<(113,trunc)%s" --committer="<name>"
例如: