gpt4 book ai didi

git - GitHub 上实际显示的 merge 提交的差异是什么?

转载 作者:行者123 更新时间:2023-12-04 12:45:13 26 4
gpt4 key购买 nike

考虑以下提交页面:

https://github.com/SignalR/SignalR/commit/cc5b002a5140e2d60184de42554a8737981c846c

通常,对于 Git,提交是在先前代码库之上应用的一组更改,因此,请考虑以下树:

enter image description here

查看 1ca1b6b 的差异将显示截至 ca2cac9 的代码库左侧,右侧是该提交中应用的更改。通过 merge 提交,我们在左侧看到了什么?即考虑以下树:

enter image description here

如果我们查看提交 1e25f98在 GitHub 上,左边是什么? 06f5be1 ?那么对于更复杂的树呢?还是三个分支之间的 merge ?它是否只是显示了历史上最后一个共同点之间的差异?

最佳答案

Git 提交实际上是快照

...因此,您需要指定两个提交来进行区分。例如。 git diff HEAD^ HEAD .如果未指定,则第二个引用设置为 HEAD。

但是是的,例如 git log -p显示关于 的补丁第一父 让事情变得更容易。 GitHub/Lab 的行为也一样。

家长订制

merge 提交的第一个父项指向您在调用 git merge 之前所在的提交。 . (你的头在哪里。)

默认情况下,始终采用第一个父级。例如 HEAD^HEAD 的第一个父节点(在第二张图片 6f01964 上),HEAD~2HEAD 的第一个父级的第一个父级( 2bb48b5 )。这可以被 ^<number> 覆盖所以HEAD^2HEAD 的第二个父级,因此 b0417C3 .

关于git - GitHub 上实际显示的 merge 提交的差异是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51080788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com