ChatGPT解决这个技术问题 Extra ChatGPT

Git conflict markers [duplicate]

This question already has answers here: Git merge left HEAD marks in my files (6 answers) Closed 9 years ago.

After I pulled from remote branch, I got conflict, when I open the file it looks something like below:

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

I need some explanations of the markers, which portion of code is pulled from remote and which is from local?

What does the code 77976da35a11db4580b80ae27e8d65caf5208086 stand for?


N
Nathan Wailes

The line (or lines) between the lines beginning <<<<<<< and ====== here:

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

... is what you already had locally - you can tell because HEAD points to your current branch or commit. The line (or lines) between the lines beginning ======= and >>>>>>>:

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

... is what was introduced by the other (pulled) commit, in this case 77976da35a11. That is the object name (or "hash", "SHA1sum", etc.) of the commit that was merged into HEAD. All objects in git, whether they're commits (version), blobs (files), trees (directories) or tags have such an object name, which identifies them uniquely based on their content.


What does the code 77976da35a11 stands for then?
7797... is the commit you tried to merge from.
@Mellon that would be the SHA ID for the commit, where you got the changes, when you did the pull
Every time you make a commit - git computes a hash which is a function of the current content/code you have. So 7797 is the computed hash that depicts the commit you are merging.
Is there any way to configure this so we have meaningful labels like branch names and commit ids ? Or are we stuck forever guessing how to work around git developer madness??