3 pane merge vs 2 pane merge in meld

In git when I have a conflict, I’ve been either using 'git mergetool' which then indirectly brings up meld with a 3 pane interface, or I’ve also brought up meld directly by using 'meld <path to file with conflict>'. When I use the latter method, it brings up meld with only 2 panes. I prefer the 3 pane interface but the issue with the ‘git mergetool’ is that it leaves behind ‘.orig’ files that I then have to clean up. Can someone explain this difference in behavior (2 vs 3 panes) and how I can avoid having to do the extra cleanup of the .orig files?

  • How to clone private BitBucket repository in GitHub desktop app
  • Run Lint from console for only selected files
  • Git, different downstream and upstream remote branch
  • npm too many local dependencies?
  • issue in gitolite
  • git push fails with git-credential-winstore
  • git diff extended header `index` 2nd hash corresponds to what
  • After checking out a git branch, do remote FTP changes only affect branch or master too?
  • setting up git server on centos 7 in google compute engine
  • With Git, how can I show the tree of commits that all share a common ancestor?
  • Git to CVS: how do I _regress_?
  • Shell script to check if specified Git branch exists?
  • One Solution collect form web for “3 pane merge vs 2 pane merge in meld”

    The difference in behavior is a result of the fact that git does only put conflict info about the two branches being merged into the conflict file by default. The information about the mergebase is left out of there. You can change that behaviour by running

    git config --global merge.conflictstyle diff3

    I do not know whether meld can handle that. But that doesn’t really matter as you should run the conflict resolution via git mergetool -y anyways. The problem with the .orig files can be resolved by running (as knittl already pointed out)

    git config --global mergetool.keepBackup false

    Note the --global – this is important, otherwise the setting will only be changed for the current repo.

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