在 git 合并冲突中删除哪一个?

sas*_*ori -2 git github

每当出现 git pull 合并冲突时,我们经常会看到这样的情况

<<<<<< HEAD 
some code snippet here

================

some code snippet here

adsf23423423423423 >>>>>>>>>
Run Code Online (Sandbox Code Playgroud)

不查看 ide 历史记录或 git show 或任何历史记录,仅查看我发布的代码段,每当出现合并冲突时我们应该删除哪个片段?,它是头脑中的那个吗?还是底部的那个?

(因为有时候,您甚至没有接触发生冲突的代码,并且您不知道哪一个是开发人员的最新代码,因为您太忙而无法查看日志历史记录并进行比较)

imP*_*mPK 5

该代码段行开始<<<<<<和================这里之间:

<<<<<< 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 提交引入的代码。