Git 冲突标记

标签 git git-merge-conflict

<分区>

从远程分支 pull 后,我遇到了冲突,当我打开文件时,它看起来像下面这样:

<<<<<<< HEAD:file.txt
Hello world
=======
Goodbye
>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt

我需要对标记进行一些解释,哪些代码是从远程 pull 的,哪些是从本地 pull 的?

代码 77976da35a11db4580b80ae27e8d65caf5208086 代表什么?

最佳答案

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

<<<<<<< HEAD:file.txt
Hello world
=======

... 是您在本地已经拥有的 - 您可以分辨出来,因为 HEAD指向您当前的分支或提交。以 ======= 开头的行之间的行(或行)和 >>>>>>> :

=======
Goodbye
>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt

... 是另一个( pull 的)提交引入的内容,在本例中为 77976da35a11 .这是 merge 到 HEAD 中的提交的对象名称(或“哈希”、“SHA1sum”等) . git 中的所有对象,无论它们是提交(版本)、blob(文件)、树(目录)还是标签,都有这样一个对象名称,根据它们的内容唯一地标识它们。

关于Git 冲突标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7901864/

相关文章:

git - 重组 git repo

git - 如何在 GitHub 中仅使用我的分支存储库的主分支中的最新提交执行 pull 请求

git - 在不存在的文件中进行更改的 Cherry-pick

git - 为什么我会遇到 merge 冲突?

branch - 如何在bitbucket上合并分支到master

git - 在 git merge upstream/master 之后使用 Sublime Text 中更新的上游和 stash 的更改解决 Git 冲突

git - 我如何使用这个 git 存储库文件夹?

用于计算每个用户包含字符串的提交消息的 Git 命令

Git pull 覆盖并且不 merge 或确认同一分支(master)上的冲突

git - 有没有办法在git中只 merge 一个子目录?