Git Introductionο
About Version Controlο
Why we have Version Control?ο
Centralized vs. Decentralizedο
Centralized:
Single truth
Simple revision numbers
Timeline is always straight
Single point of failure
Simpler branches
Small number of branches
Decentralized
Unable to use incremented int as revision numbers
Use hashes
All repositories are equal
Any repository can have different history
More diverged branches
Can have many branches
Design Philosophyο
Tracking file permissions
Tracking file renames and moves
Key-Value Storage of Immutable Objects
Working Offline
Efficient Storage
Use Casesο
Assignmentsο
SSH keyο
Create and login to Github account
If you donβt have
.ssh/id_rsalub.ssh/id_rsa.pubrun commandssh-keygenAdd
your.email@example.com/hostnameto the end of your public key~/.ssh/id_rsa.pub(as a comment)Add
sshpublic key~/.ssh/id_rsa.pubto Github profile
Repository Hostingο
create accounts
create repo
protect branches
add collaborators
clone & touch .gitignore & push
pull-request