每当出现 git pull 合并冲突时,我们经常会看到这样的情况
<<<<<< HEAD
some code snippet here
================
some code snippet here
adsf23423423423423 >>>>>>>>>
Run Code Online (Sandbox Code Playgroud)
不查看 ide 历史记录或 git show 或任何历史记录,仅查看我发布的代码段,每当出现合并冲突时我们应该删除哪个片段?,它是头脑中的那个吗?还是底部的那个?
(因为有时候,您甚至没有接触发生冲突的代码,并且您不知道哪一个是开发人员的最新代码,因为您太忙而无法查看日志历史记录并进行比较)
该代码段行开始<<<<<<和================这里之间:
<<<<<< HEAD
some code snippet here
================
Run Code Online (Sandbox Code Playgroud)
... 是您在本地已经拥有的 - 您可以判断,因为 HEAD 指向您当前的分支或提交。以================ 和 >>>>>>>> 开头的两行之间的代码片段:
================
some code snippet here
adsf23423423423423 >>>>>>>>>
Run Code Online (Sandbox Code Playgroud)
... 是其他提交引入的,在本例中为 adsf23423423423423。那是合并到 HEAD 的提交的对象名称(或“哈希”、“SHA1sum”等)。git 中的所有对象,无论是提交(版本)、blob(文件)、树(目录)还是标签,都有这样的对象名称,它根据内容唯一地标识它们。
您现在可以决定是要保留 HEAD 中的代码片段还是由 adsf23423423423423 提交引入的代码片段。
如果您从从未接触过的代码中获得此合并冲突,请保留由 adsf23423423423423 提交引入的代码。