解决合并冲突是否会同时修改源文件和目标文件?
Does resolving a merge conflict modify both the source and destination file?
我有一个来自 source branch
的公开 PR —> destination branch
,其中一个文件存在冲突。于是查看了source branch
、运行git merge destination branch
,然后解决了冲突文件运行git commit
和git push
中的冲突。然后当我查看我打开的 PR 时,我希望看到有冲突的文件仍然在两个 b运行ches 之间的差异中,但文件完全消失了,这意味着这个文件没有区别在 source branch
和 destination branch
之间。我是否正确理解解决 git 合并中的冲突会将更改应用于源文件和目标文件,还是发生了其他事情?
合并只会更改您推送合并提交的分支。在您的情况下,您合并到 source
并推送,这意味着 source
现在包含来自 destination
的更改以及您为解决冲突所做的一切。
如果您没有将任何更改推送到 destination
,则该分支的内容没有更改。只有当您将合并提交也推送到该分支时,它们才会更改。
如果 PR 现在告诉您您的 PR 引入的文件没有任何变化,我怀疑这意味着您最终使修改后的 source
和原始 destination
相同。您可以通过在计算机上的更新沙箱上执行 git diff source destination
来确认这一点。
我有一个来自 source branch
的公开 PR —> destination branch
,其中一个文件存在冲突。于是查看了source branch
、运行git merge destination branch
,然后解决了冲突文件运行git commit
和git push
中的冲突。然后当我查看我打开的 PR 时,我希望看到有冲突的文件仍然在两个 b运行ches 之间的差异中,但文件完全消失了,这意味着这个文件没有区别在 source branch
和 destination branch
之间。我是否正确理解解决 git 合并中的冲突会将更改应用于源文件和目标文件,还是发生了其他事情?
合并只会更改您推送合并提交的分支。在您的情况下,您合并到 source
并推送,这意味着 source
现在包含来自 destination
的更改以及您为解决冲突所做的一切。
如果您没有将任何更改推送到 destination
,则该分支的内容没有更改。只有当您将合并提交也推送到该分支时,它们才会更改。
如果 PR 现在告诉您您的 PR 引入的文件没有任何变化,我怀疑这意味着您最终使修改后的 source
和原始 destination
相同。您可以通过在计算机上的更新沙箱上执行 git diff source destination
来确认这一点。