This tool helps to manage integration branches.
For example, say you have a repository with three branches:
And you have an integration branch named 'integration' where you merge all these branches on top of 'master'.
You can generate the instructions needed by
git reintegrate with this
git reintegrate --generate integration master
Which would generate instructions like:
base master merge feature-a Merge work in progress feature-a merge feature-b Merge feature-b merge maint Merge good stuff
You can edit the instructions with
git reintegrate --edit.
The simplest way to begin an integration branch is with:
git reintegrate --create integration master git reintegrate --add=branch1 --add=branch2 --add=branch3
To regenerate the integration branch run
git reintegrate --rebuild, if there
are merge conflicts, solve them and continue with
git reintegrate --continue.
You probably want to configure
git rerere so that each time you resolve a
conflict it gets automatically stored, so the next time Git sees the conflict,
it’s resolved automatically:
git config --global rerere.enabled true
Simply copy the script anywhere in your '$PATH' and make it executable, or run
make install which will install it by default to your '~/bin/' directory
(make sure it’s in your '$PATH').
This is a rewrite of John Keeping’s
git integration tool
(link) , that provides a
one-to-one mapping of functionality, plus some extras. Also, it borrows ideas
from git.git’s integration scripts.