Can I rename LOCAL, REMOTE and BASE as used in git mergetool?

Lets say I’m doing a rebase B of a branch onto master and there’s a conflict. git opens up the default merge tool with 3 files as input : file.LOCAL, file.BASE, file.REMOTE (they’re named a little differently, but LOCAL, BASE and REMOTE are in the file names and is how they are distinguished).

Now, according to the mergetool man page: $LOCAL is set to the name of a temporary file containing the contents of the file on the current branch; $REMOTE set to the name of a temporary file containing the contents of the file to be merged, and $BASE set to the name of a temporary file containing the common base for the merge.

  • Trigger jenkins build on stash pull request
  • What is $(prefix) on $(prefix)/etc/gitconfig?
  • Committing Machine Specific Configuration Files
  • How can I hide .SVN directories from PHP
  • How to set a JVM option in Jenkins globally for every job?
  • Gitlab not sending email when accessed by https
  • That really does not make sense to me. LOCAL is the current state of the branch. Where I get lost is BASE and REMOTE. So my question is :

    Is it possible to make git use the branch name instead of LOCAL and similarly more meaningful names other than BASE and REMOTE? For example, if the branch name is FeatureX and the BASE = the file as it exists in master, is there a way to get git to substitute FeatureX for LOCAL and master for BASE, so that it is more apparent where the source is coming from? This is especially a problem when doing a rebase.

  • What is the git equivalent of hg heads / hg parents?
  • How do you revert with sourcetree?
  • GIT Branch Work Flow
  • Error when trying to reset git HEAD
  • Is it possible with Git to retrieve a list of tags that exist only in a certain branch?
  • Git pull command from different user
  • 2 Solutions collect form web for “Can I rename LOCAL, REMOTE and BASE as used in git mergetool?”

    Is it possible to make git use the branch name instead of LOCAL

    I don’t think so, but if you declare in your mergetool a graphical merge tool, you can call that external tool with title of your choice:

    (extract of a merge tool calll script)

    t1="'$4 (current branch)'"
    t2="'(common ancestor)'"
    t3="'(to be merged)'"
    
        "C:/Program Files/Araxis/Araxis Merge/Compare.exe" -max -wait -merge -3 -a2 -title1:${t1} -title2:${t2} -title3:${t3} "$alocal" "$base" "$remote" "$result" 
    

    That way, you can more easily see what is what.

    I’m not entirely sure this explanation is correct, but BASE will be the point at which both versions of the file were the same. It might be what you call the ‘parent’ in a Git tree.

    When they diverged, you ended up with LOCAL and REMOTE which are conflicting with each other.

    Git Baby is a git and github fan, let's start git clone.