Git冲突标记

Mel*_*lon 356 git git-merge-conflict

从远程分支拉出后,我遇到了冲突,当我打开文件时,它看起来如下所示:

<<<<<<< HEAD:file.txt
Hello world
=======
Goodbye
>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt
Run Code Online (Sandbox Code Playgroud)

我需要对标记进行一些解释,哪部分代码是从远程拉出来的,哪些来自本地?

代码77976da35a11db4580b80ae27e8d65caf5208086代表什么?

Mar*_*air 586

行开头<<<<<<<======这里之间的一行(或多行):

<<<<<<< HEAD:file.txt
Hello world
=======
Run Code Online (Sandbox Code Playgroud)

...就是你在本地已经拥有的东西 - 你可以告诉你因为HEAD当前分支或提交的要点.行之间的行(或行)开头=======>>>>>>>:

=======
Goodbye
>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt
Run Code Online (Sandbox Code Playgroud)

...是在这种情况下由另一个(拉)提交引入的77976da35a11.这是合并到的提交的对象名称(或"hash","SHA1sum"等)HEAD.git中的所有对象,无论它们是提交(版本),blob(文件),树(目录)还是标记都有这样的对象名称,它根据内容唯一地标识它们.

  • 7797 ...是您尝试合并的提交. (21认同)
  • 那么代码77976da35a11代表什么? (6认同)
  • 当你执行`pull`时,@ Mellon将成为提交的SHA ID,在那里你得到了更改 (2认同)
  • 每次进行提交时 - git都会计算一个哈希值,该哈希值是您当前内容/代码的函数.所以7797是描述你正在合并的提交的计算哈希. (2认同)
  • 有没有办法配置这个,所以我们有有意义的标签,如分支名称和提交ID?或者我们是否一直在猜测如何解决git开发人员疯狂问题? (2认同)