Re: Git Branching - Best Practices - Large project - long running branches
- From
Jakub Narębski <jnareb@gmail.com>
- Date
- Mar 31, 2017, 13:02 UTC
- Message-ID
- <d336369a-3b1c-c311-2155-1e08ae669cdb@gmail.com>
- In-Reply-To
- <4bb4871d8a78402bbef91231134a613b@EX1-PRD.lsac.org>
W dniu 31.03.2017 o 13:55, Mayne, Joe pisze:
Show 16 quoted lines
> Hello, I work on a team of 15+ developers. We are trying to > determine best practices for branching because we have had code > stepped on when a developer has a long running feature branch. > > We have a Development branch. Developers are instructed to create a > branch when they begin working on a feature. Sometimes a feature may > take a week or two to complete. So a Developer1 creates a branch and > works for a week or two. In the meantime, other developers have > created feature branches from Development and merged them back into > Development. > > At this point we are not certain if Developer1 should: > > * Periodically merge the evolving Origin/Development into their > Feature branch and when they are done work merge their feature branch > into Origin/Development.
This is one possible solution.
Another variant of this would be to enable rerere feature (reuse recorded resolution), and periodically do a trial merge from the Origin/Development branch to prime the rerere mechanism (discarding those merges after resolving them).
Show 8 quoted lines
> > OR > > * Stay on their pure feature branch and when they are done merge > into Origin/Development. > > We have had issues with developers stepping on code when they have > long running branches. We are looking for a best practices.
There is yet another solution:
OR
* Periodically _rebase_ pure feature branch on top of current version of Origin/Development, or do such rebase (perhaps an interactive one to clean-up feature development steps) before pull request, before they are to merge feature branch into Origin/Development.
You can also try to use third-party git-imerge tool to help merging long divergent branches.
HTH,
-- Jakub Narębski