tl;dr have a consistent merge conflict, use merge drivers to resolve them for you
I often faced resolving the same file, the same way. And wondered, can’t git just solve this for me?
Well you can 🥳 with a thingy called
merge drivers which are defined either per
workspace, or in your
~/.gitconfig global config — and joined with
All you need is an executable—
You need to define the driver in a gitconfig file, either globally (
~/.gitconfig) or in the project.
# file: ~/.gitconfig
name = relay compiler merge driver
driver = relay-compiler
name = yarn install
driver = yarn install
… then in your project (or with
# file: .gitattributes
And done! ✨ Every time a merge conflict arises touching those files, the merge driver will run first trying to resolve
But please do check the documentation as to
how extend this further.
What makes this great?
Typically when dealing with generated files, or lockfiles as you’re jumping between branches. Be nice for a piece of
code to quickly correct some files so you don’t have local conflicting files. Yarn’s lock file, or
__generated__ artifacts is notorious for this.