We used this slide deck
Git is distributed version control software
Git is built on a tree-like data structure that contains the entire change history of a project
Git proficiency is of the most useful and valuable software engineering skills a computer science student can learn in preparation to enter the industry
Charlie did a demo in the terminal. Here’s a rough outline of the various git commands he covered:
git clone
: Cloning the ILKD_assignments repository
git commit
: Committing new local changes to the repository
git merge
: Combining two change histories into one
git reset
: Undoing previous changes, and going nuclear with --hard
git rebase
: Rewriting the git history
(single commit rewrite cases can be handled with git commit -amend
)
When things don’t go right, you may have to resolve merge conflicts by manually editing source files and re-committing
This should not be something you have to do for this course, however for anyone who is interested, here is an article on merge conflicts