将提交范围与 Git 日志结合使用
当您使用提交范围时,例如..
and ...
with git log
,它们之间的区别在于,对于分支 A 和 B,
git log A..B
会告诉你B 拥有而 A 没有的所有提交, while
git log A...B
会告诉你bothA 拥有而 B 没有的提交,以及 B 拥有而 A 没有的提交,或者换句话说,它将过滤掉 A 和 B 共享的所有提交,从而只显示他们的提交don't两者共享.
使用维恩图和提交树进行可视化
这是一个视觉表示git log A..B
。分支 B 包含但 A 中不存在的提交是提交范围返回的内容,并在维恩图中以红色突出显示,并在提交树中以蓝色圈出:
这些是图表git log A...B
。请注意,这些提交是shared命令不会返回两个分支的值:
制定三点提交范围...
更有用
您可以设置三点提交范围...
在日志命令中使用更有用--left-right
显示哪些提交属于哪个分支的选项:
$ git log --oneline --decorate --left-right --graph master...origin/master
< 1794bee (HEAD, master) Derp some more
> 6e6ce69 (origin/master, origin/HEAD) Add hello.txt
在上面的输出中,您将看到属于master
前缀为<
,而属于的提交origin/master
前缀为>
.
将提交范围与 Git Diff 结合使用
有一天我可能会添加我自己的关于提交范围如何使用的解释git diff
,但现在,您可能想查看一下Git diff 提交范围中的双点“..”和三点“...”有什么区别?.
See Also
- Pro Git § 6.1 Git 工具 - 修订选择 - 提交范围