Week 12
Final project progress presentations
Each project group will give an oral presentation of their current project status, achievements and obsticles. This will be a simulation of a formal client status briefing.
Two weeks to go
Final projects are due in two weeks!
Git Merge
Up until now each team member has been working on their respective content for the final project using their own development branch, e.g. mckennr-dev
As team members complete their work and it is ready to merge back into the master branch, there are a couple of ways we can handle it: git merge
or git rebase
.
Merge
Git merge is the much safer and recommended way to manage your team workflow. It is no destructive and you can easily rollback.
Rebase
Rebase does a similar job to merge, but resets the branch starting commit to the end of the branch being merged in. This can result in a cleaner timeline but is much more dangerous if you have merge conflicts.
TIP
For more detail, please read this Merging vs. Rebasing tutorial on the Atlassian website.
Recommended workflow
Team member A has completed work on a section and it is ready to merge into the master branch. Team member A should create a commit on their local development branch and then push that up to GitHub.
The team leader will sync their local repo with GitHub and review team member A's feature development branch, a-dev
, to ensure that it is clean and ready to merge. Then run the merge command ...
git checkout master
git merge a-dev
Then the team leader will sync the changes back to GitHub.
Team member B can now sync with GitHub to get the updated master branch, and reincorporate the updated master branch into their local development branch: b-dev
.
git checkout b-dev
git merge master
Now team member B has the latest code from the master branch available in their local b-dev
branch.
TIP
The diagrams above come from the fantastic Atlassian Git Tutorials. I highly encourage you to spend some time reviewing them.