Merge (revision control)

Merge [ mɝ ː dʒ ] ( from English- to merge, blend ',' merge ',' merge ') is the process of matching a number of changes that were made to different versions of the same file. The merging of different file versions is a key process in most version control systems, which is why they usually support different merge algorithms. Many version control systems are also supplied with graphical utilities that are intended to simplify the merging.

The term "merge " is in software engineering often merge unchanged as a verb ("You will merge the changes "), but also used as a noun ("This merge will cause many conflicts ").


Merging of different data sets ( replication ) is necessary if the corresponding data set from different individuals or processes has been changed at the same time. This occurs when working simultaneously on a database, or if the data collections were performed at separate locations and will be brought back to the common position ( synchronizing ).

The result of a merge operation is a single dataset that combines all aspects of the various versions of data. The comparison of these data sets is called Merge replication and can peer versions or subordinated versions ( master / slave merge, such as expedited preservation strategies) take place. In many cases, the merge operation works automatically, without human interaction. However, when various changes merged that affect the same subset of a dataset, so there is a merge conflict. This can only be resolved manually.

Classic cases of merging is the merging of texts (string merging ) or the merging of folder structures.

Independent Merge Tools


  • Tkdiff - Open Source
  • KDiff3 - Open Source - KDE


  • Merge - Open Source
  • Meld - Open Source - GNOME


  • WinMerge - Open Source
  • ExamDiff - proprietary, free basic version