Vincent Driessen's GitFlow has helped countless teams standardize process with respect to utilizing Git ... without his intial work subsequent discussion and follow-up discussion would not be possible.
OneFlow addresses many of the challenges identified with GitFlow. At the end of the day, the power in these approaches is the standard use of Git within a team environment - the good news is that there are many great workflows available when using Git - pick what works best in context of your particular objective(s) and team(s)!
This project seeks to emdody the goodness of OneFlow in four core Git aliases bnew
, bup
, bpush
, and bdone
. We've had success getting team members new to Git up and running quickly - of course the ultimate goal is to produce a level of proficiency where team members understand what the scripts are doing such that they are not needed but simply a creature comfort.
- Clone this repo
- On *nix run
make-gitconfig.sh
- take a look a the local .gitconfig - to make changes to your global .gitconfig runmake-gitconfig.sh -g
. On Windows runmake-gitconfig.ps1
and/ormake-gitconfig.ps1 -g
respectively.
- Initial clone
git clone repo
git checkout develop
- Feature work
git bnew -f “A Short Description”
git commit -am “A shortish (50 character) commit message”
- Periodically make sure you are up to date with the remote and resolve any merge conflicts early!
git bup or bfresh [-r]
- At the end of the day make sure your work is on the remote
git bpush or bsaved [-r]
- Create a PR when your code is a candidate to be merged into develop and you are ready for a code review
- After the PR has been merged into develop
git bdone
- Potentially more switches - for example make minimal changes to .gitconfig, etc
- brelease
- ...