there are 4 components to this (note that before this step, you would have already done a local-checkin.)
- The local-checkin that your git tree has: LOCAL
- The head of the remote repository (that is going to be merged): REMOTE
- common ancestor to both LOCAL and REMOTE: BASE
- The file that will be written as a result: MERGED.