joe/new-integrator).$ git branch -r | grep joe
issue-137).For release branches we recommend e.g. release/2.x or stable-2.x.
feature-a, feature-b, feature-c.stockholm, san-francisco, helsinki.stockholm, san-francisco, and helsinki will either diverge
(three main development lines) or somebody will spend a heroic effort to keep
them synchronized.git bisect it is very helpful if all commits build/compile.Often we have this situation (newest commit is on top):
$ git log --oneline
6e129cf documentation for feature C
05344f6 small fix for feature C
bc11c47 save work on feature C
aa25177 feature B
6b58ba4 feature A
But we would prefer to have this history:
$ git log --oneline
81e100c feature C
aa25177 feature B
6b58ba4 feature A
git reset --soft aa25177.aa25177
but we keep the working tree of the last committed state.git reset --soft is an interactive rebase.git cherry-pick).Having one main development branch which is documented, tested and has logical commit history is useful to both developers and users.