Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between union and text?

Tags:

git

At the root of git repo a .gitattributes file. This file contains the following values:

*.txt     text merge=text
*.py      text merge=union

what is the difference between merge=text and merge=union

like image 497
Mahmoud Samy Avatar asked Oct 01 '22 11:10

Mahmoud Samy


1 Answers

Built-in merge drivers

There are a few built-in low-level merge drivers defined that can be asked for via the merge attribute.

text: Usual 3-way file level merge for text files. Conflicted regions are marked with conflict markers <<<<<<<, ======= and >>>>>>>. The version from your branch appears before the ======= marker, and the version from the merged branch appears after the ======= marker.

binary: Keep the version from your branch in the work tree, but leave the path in the conflicted state for the user to sort out.

union: Run 3-way file level merge for text files, but take lines from both versions, instead of leaving conflict markers. This tends to leave the added lines in the resulting file in random order and the user should verify the result. Do not use this if you do not understand the implications.

Reference: http://schacon.github.io/git/gitattributes.html

like image 57
Otto Barrows Avatar answered Oct 13 '22 00:10

Otto Barrows