¡ñ
¡ð
¡ð
¡ñ
¡ð
¡ð
¡ð ¡ð
¡ñ
¡ð
¡ñ
¡ð
¡ñ
¡ð
¡ð
1st 2nd 3rd commit commit commit
Each commit represents a version of the code – a snapshot in time
A path of commits represents its history.
Then, you can commit changes to the repo
This is a simple linear graph of commits – next week we¡¯ll show more complicated graphs
foo.c foo.h
A new commit (i.e. snapshot) is created and added to the graph.
1. 2. 3.
¡ñ
¡ð
¡ö
¡ð
¡ð
¡ñ
¡ñ init ¡ñ status ¡ñ add
¡ñ commit ¡ñ log
¡ñ
¡ð
¡ñ
¡ð ¡ð ¡ð
¡ñ ¡ñ
¡ð
Not overly useful in the example above, but we can easily use them for…
¡ñ
¡ð ¡ð ¡ð ¡ð
¡ñ
¡ð
¡ñ
¡ð
master
Default starting branch is master
¡ñ
¡ð
feature
master
¡ñ ¡ñ
feature
ProTip: Can create and checkout a branch together
master
¡ñ
feature
master
¡ñ
feature
master
feature
master
¡ð ¡ð ¡ð
¡ñ ¡ñ
feature
master
feature
master
feature
master
¡ñ ¡ñ
feature
master
¡ñ
¡ð
feature
master
¡ñ ¡ñ
feature
master
¡ñ
¡ñ
¡ñ
¡ñ
feature
master
¡ñ
¡ð ¡ð ¡ð
¡ñ
¡ð
¡ð
¡ñ
¡ð
¡ð
¡ñ
¡ð
¡ñ
¡ð
¡ñ ¡ñ
¡ð
¡ñ
¡ð
¡ñ
¡ð ¡ð ¡ð
¡ñ clone ¡ñ pull ¡ñ push
¡ñ
¡ð ¡ð
¡ñ
¡ð
¡ð ¡ð
¡ö
¡ñ
¡ñ
¡ð ¡ð
¡ñ
¡ð git commit ¡ð git push
¡ñ
¡ð
¡ö
¡ö
¡ð
¡ñ ¡ñ
¡ð
¡ð
¡ö ¡ð
¡ñ ¡ñ
¡ñ ¡ñ ¡ñ
¡ñ
¡ñ
¡ð ¡ð
Repo hosted on GitHub.
Create a local clone, so you can use your favorite IDE (e.g. IntelliJ), run the code to test your changes, etc. Note: This is exactly like you¡¯ve seen before
clone
Make and commit some changes (locally) …
You push your code to the remote repo
Push
Create a pull request containing changes from your branch to the main branch
Pull Request
Someone on your team merges your pull-request into the main repo (merge privilege)
Pull Request
Merged
¡ñ ¡ñ ¡ñ
¡ñ
¡ð ¡ð
¡ð
¡ö
¡ð
¡ñ ¡ñ ¡ñ ¡ñ
¡ñ
¡ð
¡ð ¡ñ
¡ð ¡ð
¡ñ ¡ñ ¡ñ ¡ñ ¡ñ