difference between remote local and base using p4merge
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.
If you're using SourceTree you can see this. Which is what Tim suggested above.
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