Merge conflicts

Merge conflicts occur when you try to merge changes into a branch that has conflicting changes. For example, if you change a specific part of a file and someone else also changed that part of the file, then a version control system can’t determine which change takes precedence.

3-way merge tracking

Unity Version control (Unity VCS) uses 3-way merge tracking, which shows three elements of a merge: the base, the source, and the destination.

The base is the common ancestor of the two changesets you want to merge. The base shows you the file before the changes, which allows Unity VCS to automatically resolve most merge conflicts. If you have two contributors, and only one modifies a line of code, Unity VCS compares the line of code with the base in order to keep the modified line in the merge.

For more information, refer to Navigate the Mergetool window

Manual merge conflict resolution

When the same line of code is modified in both the source and the destination, Unity VCS doesn’t know which modification you want to merge. This means you need to use the Unity VCS desktop client to manually resolve the merge conflict.