![Page 2: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/2.jpg)
Today
• setting up like a boss
• basic git like a boss
• using branches like a boss
• reverting changes like a boss
• collaborating like a boss
![Page 3: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/3.jpg)
Git is...
• “Git is distributed version control system focused on speed, effectivity and real-world usability on large projects”
• “distributed development”
• “non-linear development”
• “efficient handling of large projects”
• “cryptographic authentication of history”
![Page 4: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/4.jpg)
Git is...
Awesome.
![Page 5: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/5.jpg)
Installing Git
• Windows: http://code.google.com/p/msysgit/
• OS X: http://code.google.com/p/git-osx-installer/
• Appliance: already installed!
![Page 6: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/6.jpg)
Installing Git
root@appliance(~): gitusage: git [-‐-‐version] [-‐-‐exec-‐path[=<path>]] [-‐-‐html-‐path] [-‐p|-‐-‐paginate|-‐-‐no-‐pager] [-‐-‐no-‐replace-‐objects] [-‐-‐bare] [-‐-‐git-‐dir=<path>] [-‐-‐work-‐tree=<path>] [-‐c name=value] [-‐-‐help] <command> [<args>]
![Page 7: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/7.jpg)
git config --globaluser.name “Tommy MacWilliam”
![Page 9: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/9.jpg)
git init
![Page 10: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/10.jpg)
Commits
• snapshots of your project
• what your files look like at a given point
• single event in project history
![Page 11: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/11.jpg)
git status
![Page 12: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/12.jpg)
git add index.php
![Page 13: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/13.jpg)
git add --all
![Page 14: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/14.jpg)
git add --all
git commit
![Page 15: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/15.jpg)
Commit Messages
• short message describing what’s different in this commit
• add any new features?
• fix some bugs?
• break anything?
![Page 16: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/16.jpg)
Commit Messages
![Page 17: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/17.jpg)
Commit Messages
• http://www.commitlogsfromlastnight.com/
![Page 18: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/18.jpg)
git commit -a -m “oh hi, mark!”
![Page 19: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/19.jpg)
git log
![Page 20: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/20.jpg)
5aeebab117b892fa42002146e4c62be676bc4621
b43b0ad1e8108e7ab870d7a54feac93ae8b8600e
461476587780aa9fa5611ea6dc3912c146a91760
![Page 21: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/21.jpg)
5aeebab117b892fa42002146e4c62be676bc4621
b43b0ad1e8108e7ab870d7a54feac93ae8b8600e
461476587780aa9fa5611ea6dc3912c146a91760
CommitID
HEAD
![Page 22: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/22.jpg)
git show
![Page 23: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/23.jpg)
git show b43b0
![Page 24: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/24.jpg)
git initgit statusgit add
git commitgit log
git show
![Page 25: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/25.jpg)
Branches
• non-linear development process
• changes on one branch do not affect other branches
• crazy idea? make a branch
• didn’t work? delete the branch
• all done? merge the branch
![Page 26: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/26.jpg)
git branch test
![Page 27: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/27.jpg)
git checkout test
git branch test
![Page 28: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/28.jpg)
5aeeb
b43b0
46147
master
![Page 29: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/29.jpg)
5aeeb
b43b0
46147
f862f
36223
master test
git branch test
![Page 30: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/30.jpg)
git merge
![Page 31: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/31.jpg)
5aeeb
b43b0
46147
f862f
36223
master test
87aedgit merge
![Page 32: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/32.jpg)
Like a boss.
![Page 33: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/33.jpg)
git branch -D test
![Page 34: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/34.jpg)
Merge vs. Rebase
• git merge: new commit, non-linear history
• git rebase: no new commit, linear history
![Page 35: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/35.jpg)
5aeeb
b43b0
46147
f862f
36223
master test
git branch test
![Page 36: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/36.jpg)
5aeeb
b43b0
46147 f862f 36223
master
git rebase
![Page 37: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/37.jpg)
Conflicts
• change in one branch can be incompatible with another
• git tries to resolve, but sometimes cannot
![Page 38: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/38.jpg)
Conflict Resolution
int main(int argc, char** argv) { printf(“you invited all my friends”);}
int main(int argc, char** argv) { printf(“good thinking!”);}
![Page 39: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/39.jpg)
Conflict Resolution
int main(int argc, char** argv) { <<<<<<< HEAD:file.c printf(“you invited all my friends”); ======= printf(“good thinking!”); >>>>>>> f862f:file.c}
![Page 40: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/40.jpg)
git checkoutgit branch
git mergegit rebase
![Page 41: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/41.jpg)
git commit -m “oops.”
![Page 42: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/42.jpg)
git revert b43b0
![Page 43: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/43.jpg)
5aeeb
b43b0
46147
![Page 44: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/44.jpg)
5aeeb
b43b0
46147
42bb4(b43b0)
git revert b43b0
![Page 45: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/45.jpg)
File-Specific Reverts
• git checkout -- index.php
• replace with version in index
• git checkout b43b0 index.php
• replace with version in commit b43b0
![Page 46: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/46.jpg)
git reset --hard b43b0
![Page 47: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/47.jpg)
git reflog
![Page 48: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/48.jpg)
git bisect
![Page 49: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/49.jpg)
Like a boss.
![Page 50: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/50.jpg)
git revertgit reset
git checkoutgit bisect
![Page 51: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/51.jpg)
“distributed development”
![Page 52: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/52.jpg)
ssh-keygen
![Page 53: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/53.jpg)
![Page 55: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/55.jpg)
git remote add origin [email protected]:cs50/project
![Page 58: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/58.jpg)
git pull origin master
![Page 59: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/59.jpg)
git pull --rebase
![Page 60: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/60.jpg)
Alice Bob
git initgit add -‐-‐allgit commit
![Page 61: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/61.jpg)
Alice Bob
git remote add origin urlgit push origin master
![Page 62: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/62.jpg)
Alice Bob
git remote add origin urlgit push origin master
![Page 63: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/63.jpg)
Alice Bob
git clone url
![Page 64: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/64.jpg)
Alice Bob
git clone url
![Page 65: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/65.jpg)
Alice Bob
git add -‐-‐allgit commit
![Page 66: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/66.jpg)
Alice Bob
git push origin master
![Page 67: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/67.jpg)
Alice Bob
git push origin master
![Page 68: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/68.jpg)
Alice Bob
git pull origin master
![Page 69: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/69.jpg)
Alice Bob
git pull origin master
![Page 70: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/70.jpg)
git branch -a
![Page 71: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/71.jpg)
git checkout -b origin/test
![Page 72: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/72.jpg)
scp ~/.ssh/id_rsa.pubhost:~/.ssh/authorized_keys
![Page 73: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/73.jpg)
git init --bare
![Page 76: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/76.jpg)
Hooks• applypatch-msg
• commit-msg
• post-commit
• post-receive
• post-update
• post-applypatch
• pre-commit
• pre-commit-msg
• pre-rebase
• update
![Page 77: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/77.jpg)
#!/bin/shGIT_WORK_TREE=/home/tmacwill/public_html \git checkout -‐fchmod -‐R 644 /home/tmacwill/public_html/*.htmlchmod -‐R 600 /home/tmacwill/public_html/*.php
post-receive
![Page 78: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/78.jpg)
Like a boss.
![Page 79: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/79.jpg)
git clonegit push
git remote git pull
![Page 80: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/80.jpg)
More Resources
• http://progit.org/book/
• http://book.git-scm.com/
• http://gitref.org/
• http://git-scm.com/documentation
![Page 81: Git Magic: Versioning Files Like a Boss - CS50cdn.cs50.net/2011/fall/seminars/Git_magic/Git_magic.pdfGit Magic: Versioning Files Like a Boss Tommy MacWilliam tmacwilliam@cs50.net Today](https://reader033.vdocument.in/reader033/viewer/2022052612/5f0f65b87e708231d443f558/html5/thumbnails/81.jpg)
git commit -a -m “thanks!”