...
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 PREFERRED: Periodically rebase your branch to the head of master (or head of the integration branch):
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
3b OR you can merge master to your long-lived branch (READ CONDITIONS ABOVE)
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
|