运行git log --first-parent -p
向我显示了我感兴趣的提交,但我希望看到合并提交以及非合并提交的补丁(-p
仅显示用于非合并提交的补丁)。查看补丁合并提交
有没有办法看到补丁提交合并?
运行git log --first-parent -p
向我显示了我感兴趣的提交,但我希望看到合并提交以及非合并提交的补丁(-p
仅显示用于非合并提交的补丁)。查看补丁合并提交
有没有办法看到补丁提交合并?
有一堆选项可以控制这个。
差异合并提交的基本问题是,有多个父母(根据定义,因为它是一个合并)。什么git show
(其中,我知道,是不是git log
,挂在了一会儿)默认情况下,做的是告诉你一个“组合差异”,这是在另一个不同的文档页面适当的描述,为git diff-tree
:
- ç
此标志改变合并提交的显示方式(这意味着,只有当该命令被给定的一个树肥胖型,或
--stdin
它是有用的)。它会同时显示每个父级与合并结果的差异,而不是显示父级和结果之间的pairwise差异(这是-m
选项的作用)。此外,它只列出所有父母修改过的文件。--CC
此标志更改合并提交显示补丁的方式,以类似的方式向
-c
选项。这意味着-c
和-p
选项,并进一步压缩补丁输出,方法是省略父母内容只有两个变体的无趣群件,并且合并结果不加修改地挑选其中的一个。当所有的hunks都不感兴趣时,就像在任何其他“空比较”情况下一样,提交本身和提交日志消息也不会显示。
我们现在准备跳所有的出路git log
,它实现了所有三个选项(-c
,--cc
,并且-m
;注意--cc
使用两个-
字符,而其他人只使用一个)。添加其中的一个将为合并提交生成一个补丁。具体来说,你可能想要-m
。这在实际上documentation描述(靠近网页的结尾):
git log -p -m --first-parent
::显示历史,包括改变diff文件,但只能从 ``主分支“的角度来看,跳过来自合并的 分支的提交,并显示合并引入的更改的完全差异。 只有遵循严格的合并所有 主题分支时保留在单个集成分支上的策略时才有意义。
正是我以后的样子!谢谢! – zoran119 2014-09-11 00:25:11