11

I'm merging my branch on the master branch using the p4Merge tool, and I see three views:

LOCAL
REMOTE
BASE

What are the differences between these views?

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
slacky82
  • 342
  • 4
  • 11

3 Answers3

11

This video tutorial does a good job of explaining what each of these views mean:

4-pane merge tools show you these panes:

  • LOCAL – your file with the changes you’ve made to it
  • BASE – the common ancestor file that LOCAL and REMOTE came from
  • REMOTE – the file you’re merging in, possibly authored by someone else
  • MERGE_RESULT – the file resulting from the merge where you resolve conflicts

We could visualize the history of the file as follows:

remote: ... v1 -- v2 -- v3
                   \
local:              v4

Here v3 would be the REMOTE version of file, and v4 is the LOCAL version. The BASE is v2, and the MERGE_RESULT is the file which would result from merging the remote into the local file.

Community
  • 1
  • 1
Tim Biegeleisen
  • 502,043
  • 27
  • 286
  • 360
3

If you're using Sourcetree you can see the following. Which is what Tim suggested above.

Enter image description here

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
kouretinho
  • 2,190
  • 1
  • 23
  • 37
2
P -- B
 \
  A
git checkout A
git merge B    #merge B into A
  • local = A
  • remote = B
  • base = P

I would add that on a rebase, local and remote are reversed.

P -- B
 \
  A
git checkout A
git rebase B    #rebase A onto B
  • local = B
  • remote = A
  • base = P
Fuyu Persimmon
  • 483
  • 6
  • 13
  • 2
    "I would add that on a rebase, local and remote are reversed." That was what I was looking for, cheers! – cederlof May 22 '19 at 11:48