如何显示合并提交中所做更改的差异? 当我写了一堆代码时,我没有意识到我正处于合并过程中。现在,git log-p将不会显示此更改的差异(它作为合并提交自动提交)

如何显示合并提交中所做更改的差异? 当我写了一堆代码时,我没有意识到我正处于合并过程中。现在,git log-p将不会显示此更改的差异(它作为合并提交自动提交),git,Git,如何使其显示在我的日志差异历史记录中?您需要重置为合并提交,然后重新执行,保存您希望在以后提交时应用的内容 更多信息,请访问: “” 这涉及到一个git reset merge\u commit\u SHA1,只添加作为合并一部分的文件,并隐藏其余的文件 “”:它描述了合并提交不是最新提交的情况,这意味着您需要重新设置自合并提交后完成的其他提交的基础: git rebase -p --onto $(git rev-parse nonce) HEAD^ $maste Git没有向您展示与

如何使其显示在我的日志差异历史记录中?

您需要重置为合并提交,然后重新执行,保存您希望在以后提交时应用的内容

更多信息,请访问:

  • “”
这涉及到一个git reset merge\u commit\u SHA1,只添加作为合并一部分的文件,并隐藏其余的文件

  • “”:它描述了合并提交不是最新提交的情况,这意味着您需要重新设置自合并提交后完成的其他提交的基础:

    git rebase -p --onto $(git rev-parse nonce) HEAD^ $maste
    

Git没有向您展示与
-p
合并的补丁,这有点令人失望。部分原因是
-p
生成的补丁是一个统一的diff,它是从一个基本版本和一个目标版本创建的。合并有两个基础,因此统一的差异不能代表需要进行的更改

所以有两种方法可以得到你想要的
git log-p-c
将显示合并提交中的N个差异,其中N是合并父级的数量。或者,您可以使用git log-p--cc查看更紧凑的差异形式。它看起来很像一个统一的差异,但可以处理合并有多个父级的事实。FWIW,
--cc
代表“紧凑组合”。如果对所讨论的提交运行
gitshowsha1
,您将看到压缩组合输出


还有一个小提示:如果在合并提交中没有进行编辑,那么在
git log-p--cc
输出中就不会看到差异。此外,默认情况下,目前无法进行差异显示合并提交。如果您需要简短而难忘的内容,最好使用别名。

比我的答案更准确+1听起来好像我可以将
-c
-cc
附加到我的
glp
别名上。它是
--cc
(注意这两个破折号),但这听起来对你来说是个不错的选择。:-)好极了。我只是想把
glp
的别名改成
git log-p-cc
。我的自定义外部差异,但是,将需要更新,以处理这个3文件的疯狂。