Weitere ähnliche Inhalte
Mehr von Kang-min Liu (14)
Kürzlich hochgeladen (20)
Git
- 1. git
Handlino http://handlino.com/
- 3. git ...
•
•
• Everything is local
• : commit / tag / tree / blob
•
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/
- 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/
- 13. git pull # ←
git push # !
git pull github master
git push github bug-31337
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/
- 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/
- 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/
- 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/