| ▲ | aeinbu 3 hours ago | |
> I always use VS Code for this step. Its merge conflict UI is the clearest I’ve found: it shows “Accept Current Change,” “Accept Incoming Change,” “Accept Both Changes,” and “Compare Changes” buttons right above each conflict. I still get confused by vscode’s changing the terms used by Git. «Current» vs «incoming» are not clear, and can be understood to mean two different things. - Is “current” what is on the branch I am rebasing on? Or is it my code? (It’s my code) - Is “incoming” the code I’m adding to the repo? Or is it what i am rebasing on to? (Again, the latter is correct) I find that many tools are trying to make Git easier to understand, but changing the terms is not so helpful. Since different tools seldom change to the same words, it just clutters any attempts to search for coherent information. | ||
| ▲ | spiffyk 3 hours ago | parent | next [-] | |
Git's "ours"/"theirs" terminology is often confusing to newcomers, especially when from a certain (incorrect, but fairly common) point of view their meaning may appear to be swapped between merge and rebase. I think in an attempt to make the terminology less confusing UIs tend to reinvent it, but they always fail miserably, ending up with the same problem, just with slightly different words. This constant reinvention makes the situation even worse, because now the terminology is not only confusing, but also inconsistent across different tools. | ||
| ▲ | afiori 3 hours ago | parent | prev [-] | |
For merges current is the branch you are on, for rebases it helps to see them as a serie of cherry picks, so current would be the branch you would be on while doing the cherry pick equivalent to this step of the rebase. | ||