gitkdiff3

What does A (base), B (local), C (remote) in KDiff3 tied to git conflict solver?


Lets assume i have a git branch FIX-8834 and branch VERSION-12.

I want to merge FIX-8834 to VERSION-12 in git.

Git tells there is a conflict.

I use Kdiff3 to solve it.

KDiff3 opens and there are 3 files open: A(base), B(local) and C(remote). What letter has the FIX_8834, VERSION-12 and from where is the third file coming from?

Is there any way to display human being names for the files in KDiff3?


Solution

  • The words are supposed to be human readable:

    1. Base is the first commit down the tree the two branches split off from. It is the first common ancestor. Often it is useful to have this to help decide which of the newer commits you want.
    2. Local is your local commit, the one in the current branch you are standing on.
    3. Remote is the remote commit, of the branch you are merging into your local one.

    Note that when re-basing, you are in fact changing your locality in a sense, to stand on the new base. So, when rebasing:

    1. local is the your local commit, the one you are rebasing onto.
    2. Remote is the remote commit, you are rebasing on top of the local commit.