Git

1,543 views
1,450 views

Published on

Published in: Technology, Design
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,543
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
18
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Git

  1. 1. git Handlino http://handlino.com/
  2. 2. basics Handlino http://handlino.com/
  3. 3. git ... • • • Everything is local • : commit / tag / tree / blob • Handlino http://handlino.com/
  4. 4. git clone git://host/project.git git clone ssh://host/project git clone /path/to/project # project/ # project/.git/ Handlino http://handlino.com/
  5. 5. cd project git log git log --graph git branch -a git blame src.rb gitx # http://gitx.frim.nl gitk # built-in Handlino http://handlino.com/
  6. 6. Handlino http://handlino.com/
  7. 7. Handlino http://handlino.com/
  8. 8. “commit” sha1 digest commit 9d38288f99caa27b7368d8a2b26c3b545f0eb37b Author: tka lu <tka@mail2000.com.tw> Date: Wed Dec 23 08:51:59 2009 +0800 fix label_render in form_interface_helper Handlino http://handlino.com/
  9. 9. more “git log” git log <from>...<to> # <to> is default to HEAD git log 22f9d..5d113 git log 22f9d..5d113 --name-only git log 22f9d..5d113 -u git log HEAD~10.. git log --pretty=oneline --abbrev-commit --decorate HEAD~10.. Handlino http://handlino.com/
  10. 10. more “git log” git config alias.lol 'log --pretty=oneline --abbrev-commit --graph --decorate' git lol '@{10 days ago}..' git lol '@{1 week ago}..' git lol '@{1 week ago}..' git lol '@{2009-12-20 01:01:01}..' Handlino http://handlino.com/
  11. 11. vim src1.pl src2.pl git status # git diff # git add src1.pl src2.pl # staging area git diff --cached # staging area git commit -m "An *awesome* work" # staging area Handlino http://handlino.com/
  12. 12. Staging area git add git commit Handlino http://handlino.com/
  13. 13. git pull # ← git push # ! git pull github master git push github bug-31337 Handlino http://handlino.com/
  14. 14. mkdir NewProject cd NewProject git init echo "New Project" > README git add README git ci -m "first commit!" Handlino http://handlino.com/
  15. 15. git reset HEAD^ # git reset <sha1> # vim src1.pl git add src1.pl src2.pl git commit -m "An *awesome* work" Handlino http://handlino.com/
  16. 16. git log git status git branch git commit git checkout git merge git add git tag git diff Handlino http://handlino.com/
  17. 17. branch / merge Handlino http://handlino.com/
  18. 18. branch git branch git branch -a git branch <new branch name> git checkout <branch name> git checkout -b <new branch name> Handlino http://handlino.com/
  19. 19. merge git checkout <branch name> git merge <other branch name> git checkout job-a git merge job-b # job-a <-job-b Handlino http://handlino.com/
  20. 20. What is a “branch” ? c866 master Handlino http://handlino.com/
  21. 21. What is a “branch” ? git commit c866 a957 master Handlino http://handlino.com/
  22. 22. What is a “branch” ? git commit c866 a957 8ecd master Handlino http://handlino.com/
  23. 23. What is a “branch” ? git commit c866 a957 8ecd 316f master Handlino http://handlino.com/
  24. 24. What is a “branch” ? git commit c866 a957 8ecd 316f 1aee master Handlino http://handlino.com/
  25. 25. What is a “branch” ? git commit c866 a957 8ecd 316f 1aee c3f2 master Handlino http://handlino.com/
  26. 26. What is a “branch” ? c866 a957 master git commit Handlino http://handlino.com/
  27. 27. What is a “branch” ? bug-37 git checkout -b bug 37 git commit ce33 c866 a957 master git commit Handlino http://handlino.com/
  28. 28. What is a “branch” ? bug-37 git commit ce33 1aee c3f2 c866 a957 8ecd 316f 1aee master git commit Handlino http://handlino.com/
  29. 29. What is a “branch” ? ce33 1aee c3f2 c866 a957 8ecd 316f 1aee 1aee git merge bug-37 master Handlino http://handlino.com/
  30. 30. What is a “branch” ? “merge” ce33 1aee c3f2 commit c866 a957 8ecd 316f 1aee 1aee git merge bug-37 master Handlino http://handlino.com/
  31. 31. Current branch c866 a957 8ecd 316f 1aee c3f2 master Handlino http://handlino.com/
  32. 32. Current branch HEAD c866 a957 8ecd 316f 1aee c3f2 master Handlino http://handlino.com/
  33. 33. Current branch commit HEAD c866 a957 8ecd 316f 1aee c3f2 master Handlino http://handlino.com/
  34. 34. Current branch bug-37 HEAD ce33 1aee c3f2 c866 a957 8ecd 316f 1aee master Handlino http://handlino.com/
  35. 35. Current branch bug-37 ce33 1aee c3f2 c866 a957 8ecd 316f 1aee HEAD git checkout bug-37 master Handlino http://handlino.com/
  36. 36. workflow Handlino http://handlino.com/
  37. 37. Topic Branch Handlino http://handlino.com/
  38. 38. Topic Branch git checkout -b js-refactor vim foo.js bar.js git commit -a -m "delete weird codes" vim foo.js bar.js git commit -a -m "add good code." git checkout master git merge js-refactor git pull git push Handlino http://handlino.com/
  39. 39. branch from master, merge to master. css-refactor master bug-3414 Handlino http://handlino.com/
  40. 40. Branch rc - deploy to staging release - deploy to production master - dev trunk (others) - dev topics Handlino http://handlino.com/
  41. 41. topic → master → rc → release (master) git checkout -b awesome-feature # hack, hack, hack git checkout master git merge awesome-feature git co rc git merge master # deploy. test staging git co release git merge rc # deploy to production Handlino http://handlino.com/
  42. 42. stable master (master) git checkout -b awesome-feature # hack, hack, hack (master) git checkout -b bug-fix-123 # hack, hack, hack git checkout test (test) git merge awesome-feature (test) git merge bug-fix-123 # run QA tests (test) git checkout master (master) git merge test # deploy master to production Handlino http://handlino.com/
  43. 43. • git help <command> • gitready.com • gitcasts.com Handlino http://handlino.com/

×