@b0rk if really in doubt I usually look at the branches elsewhere (like on github) to verify which is which. gets really tricky when trying to navigate if I have the branch checked out, or if I'm merging into main, etc.
let's imagine you're resolving this merge conflict (in screenshot).
You've forgotten which code comes from your current branch and which one comes from the "other" branch. How do you figure it out? Do you:
* remember what the "top" and "bottom" parts correspond to from past merge conflicts? * remember what `HEAD` means? * read the last line of the merge conflict? * run something like `git show main` or `git diff mybranch..main` to see the diff? * something else?
@b0rk I usually end up inspecting history with a GUI. (I like gitup.co for these sorts of task.)
This is a situation where GitHub fails extra hard, imo. It seems to me other version control systems somehow aren’t as confusing about how they show the conflict.
@ShadSterling@b0rk Huh, I’d never even considered using that for investigating my own local merge conflicts! I guess it could be useful.
I find that the thing Git’s out-of-the-box behavior does especially poorly is explaining to me what •other• developers did. It’s hard enough to be mindful of not losing / garbling my own work in the merge, but at least I (theoretically) know what I did!
a bunch of people have said that they feel embarrassed that they're still confused about which side of a merge conflict is which, even after many years using git.
I want to say that I have a hard time with it too (and I am uh EXTREMELY confident in my git skills at this point). Really appreciate everyone sharing their coping strategies for dealing with this not-very-clear UI.
@thomasfuchs@b0rk I just on Friday gave two of my classes a spiel to the effect of “it’s not you, it’s Git, it’s incredibly user-hostile and it’s not your fault.”