Overview
Merging combines changes from one branch into the branch you are currently on. It is the mechanism that turns isolated branch work into a shared project state.
A merge is straightforward when the changes can be combined automatically. A merge conflict occurs when different branches changed the same part of the same file in incompatible ways and Git cannot choose the correct result.