当我写一堆代码时,我没有意识到我正处于合并的中间。现在git log -p
不会向我显示此更改的差异(作为合并提交自动提交)。
如何让它显示在我的日志差异历史记录中?
Git 没有显示用于合并的补丁,这有点令人失望-p
。部分原因是由 产生的补丁-p
是一个统一的差异,它是从一个基础和一个目标修订创建的。合并有两个基础,因此统一的差异并不代表需要进行的更改。
所以有两种方法可以得到你想要的。 git log -p -c
将在合并提交中向您显示 N 个差异,其中 N 是合并父项的数量。或者,您可以使用git log -p --cc
并查看更紧凑的差异形式。它看起来很像一个统一的差异,但可以处理合并有多个父项的事实。FWIW,--cc
代表“紧凑组合”。git show SHA1
如果您为相关提交运行,您会看到紧凑的组合输出。
还有一点小注意:如果在合并提交中没有进行任何编辑,那么您将不会在git log -p --cc
输出中看到差异。此外,目前还没有办法让差异默认显示合并提交。如果您需要简短且令人难忘的内容,最好使用别名。
您需要重置为您的合并提交,然后重做它,隐藏您想要申请的内容以供以后提交。
您可以在以下位置查看更多信息:
这涉及 a git reset merge_commit_SHA1
,仅添加属于合并一部分的文件,并隐藏其余文件。
“更改深度合并”:它描述了合并提交不是最新的情况,这意味着您需要重新设置自合并提交以来完成的其他提交:
git rebase -p --onto $(git rev-parse nonce) HEAD^ $maste