For merging I use this to "keep mine"
git merge -X ours foo
and this for "keep theirs"
git merge -X theirs foo
However on my latest merge it looks best to keep both sides. Does Git have a "strategy" for this, to avoid manually editing the file?
If you need to keep all of your changes to a file, you can right-click it in the Unmerged Changes section and select Keep Current (Local) without having to open Merge Editor.
Often, merge conflicts happen when people make different changes to the same line of the same file, or when one person edits a file and another person deletes the same file. You must resolve all merge conflicts before you can merge a pull request on GitHub.
There is no 'merge strategy' for resolving these conflicts.
However, if you truly want a conflict like:
<<<< ours Foo ========= Bar >>>> theirs
to resolve to
Foo Bar
then you can configure the 'merge driver'. From the gitattributes man page:
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.
Add a line to .gitattributes to use this:
*.whatever merge=union
What about this one?
grep -v -e'^<<<<<<<' -e '^>>>>>>>' -e'=======' filename.txt > filename.tmp
mv filename.tmp filename.txt
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With