Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Features lives on your branch until it is finished.   Maintaining the branch (with rebases or occasional merge from master) could become arbitrarily hard if related codes diverge.  Other developers unaware of feature until its finished. 

3a Image RemovedPREFERRED: Periodically rebase your branch to the head of master (or head of the integration branch):

Image Added

Code Block
# If not done yet
git clone git@github.com:ACME-Climate/ACME.git
# For each commit
git
fetch
git
checkout master
git pull
# make new branch
git checkout -b username/branchname
(develop on username/branchname, probably with subbranches)
git push -u origin username/branchname
# Periodically update master and rebase work
git checkout master
git pull
git checkout username/branchname
git rebase master
(resolve any conflicts)
# push the new  rebased branch back to ACME
git push origin username/branchname
(Tell everyone working on the branch that it's been rebased, everyone should now rename or
delete their local username/branch and check out a fresh version of username/branchname)

3b


Image Removed3b OR you can merge master to your long-lived branch (READ CONDITIONS ABOVE)

Image Added


Code Block
# If not done yet
git clone git@github.com:ACME-Climate/ACME.git

# make new branch
git checkout -b username/branchname
(develop on username/branchname, probably with subbranches)
git push -u origin username/branchname

# when merging in master (READ CONDITIONS!)
git checkout username/branchname
git fetch
git merge master
git push