Skip to content

felipec/git-reintegrate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

git-reintegrate

This tool helps to manage integration branches.

For example, say you have a repository with three branches:

  • feature-a

  • feature-b

  • maint

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 command:

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

Installation

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').

Acknowledgements

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.

About

Tool that allows the regeneration of integration branches

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •