Git

  • 1,229 views
Uploaded on

 

More in: Technology , Design
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,229
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
15
Comments
0
Likes
5

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. git Handlino http://handlino.com/
  • 2. basics Handlino http://handlino.com/
  • 3. git ... • • • Everything is local • : commit / tag / tree / blob • Handlino http://handlino.com/
  • 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. 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. Handlino http://handlino.com/
  • 7. Handlino http://handlino.com/
  • 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. 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. 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. 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. Staging area git add git commit Handlino http://handlino.com/
  • 13. git pull # ← git push # ! git pull github master git push github bug-31337 Handlino http://handlino.com/
  • 14. mkdir NewProject cd NewProject git init echo "New Project" > README git add README git ci -m "first commit!" Handlino http://handlino.com/
  • 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. git log git status git branch git commit git checkout git merge git add git tag git diff Handlino http://handlino.com/
  • 17. branch / merge Handlino http://handlino.com/
  • 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. 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. What is a “branch” ? c866 master Handlino http://handlino.com/
  • 21. What is a “branch” ? git commit c866 a957 master Handlino http://handlino.com/
  • 22. What is a “branch” ? git commit c866 a957 8ecd master Handlino http://handlino.com/
  • 23. What is a “branch” ? git commit c866 a957 8ecd 316f master Handlino http://handlino.com/
  • 24. What is a “branch” ? git commit c866 a957 8ecd 316f 1aee master Handlino http://handlino.com/
  • 25. What is a “branch” ? git commit c866 a957 8ecd 316f 1aee c3f2 master Handlino http://handlino.com/
  • 26. What is a “branch” ? c866 a957 master git commit Handlino http://handlino.com/
  • 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. What is a “branch” ? bug-37 git commit ce33 1aee c3f2 c866 a957 8ecd 316f 1aee master git commit Handlino http://handlino.com/
  • 29. What is a “branch” ? ce33 1aee c3f2 c866 a957 8ecd 316f 1aee 1aee git merge bug-37 master Handlino http://handlino.com/
  • 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. Current branch c866 a957 8ecd 316f 1aee c3f2 master Handlino http://handlino.com/
  • 32. Current branch HEAD c866 a957 8ecd 316f 1aee c3f2 master Handlino http://handlino.com/
  • 33. Current branch commit HEAD c866 a957 8ecd 316f 1aee c3f2 master Handlino http://handlino.com/
  • 34. Current branch bug-37 HEAD ce33 1aee c3f2 c866 a957 8ecd 316f 1aee master Handlino http://handlino.com/
  • 35. Current branch bug-37 ce33 1aee c3f2 c866 a957 8ecd 316f 1aee HEAD git checkout bug-37 master Handlino http://handlino.com/
  • 36. workflow Handlino http://handlino.com/
  • 37. Topic Branch Handlino http://handlino.com/
  • 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. branch from master, merge to master. css-refactor master bug-3414 Handlino http://handlino.com/
  • 40. Branch rc - deploy to staging release - deploy to production master - dev trunk (others) - dev topics Handlino http://handlino.com/
  • 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. 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. • git help <command> • gitready.com • gitcasts.com Handlino http://handlino.com/