Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/felipec/git-reintegrate
Tool that allows the regeneration of integration branches
https://github.com/felipec/git-reintegrate
Last synced: about 1 month ago
JSON representation
Tool that allows the regeneration of integration branches
- Host: GitHub
- URL: https://github.com/felipec/git-reintegrate
- Owner: felipec
- Created: 2013-11-01T12:14:45.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2023-05-14T22:52:42.000Z (over 1 year ago)
- Last Synced: 2024-08-05T22:41:42.637Z (5 months ago)
- Language: Shell
- Size: 99.6 KB
- Stars: 22
- Watchers: 5
- Forks: 8
- Open Issues: 3
-
Metadata Files:
- Readme: README.asciidoc
Awesome Lists containing this project
README
= git-reintegrate =
This tool helps to manage integration branches.
For example, say you have a repository with three branches:
* feature-a
* feature-b
* maintAnd 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-aMerge 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
(https://github.com/johnkeeping/git-integration[link]) , that provides a
one-to-one mapping of functionality, plus some extras. Also, it borrows ideas
from git.git's integration scripts.