The line (or lines) between the lines beginning
<<<<<<< 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
======= 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.