git



      Handlino   http://handlino.com/
basics



Handlino   http://handlino.com/
git                  ...
•
•
    • Everything is local
    • : commit / tag / tree / blob
•
              Handlino   http:...
git clone git://host/project.git
git clone ssh://host/project
git clone /path/to/project


#     project/

#     project/....
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/
Handlino   http://handlino.com/
“commit”
                                                sha1 digest

commit 9d38288f99caa27b7368d8a2b26c3b545f0eb37b
Auth...
more “git log”
git log <from>...<to> # <to> is default to HEAD


git log 22f9d..5d113
git log 22f9d..5d113 --name-only
git...
more “git log”
git config alias.lol

   'log --pretty=oneline --abbrev-commit --graph --decorate'



git lol '@{10 days ag...
vim src1.pl src2.pl


git status #

git diff #



git add src1.pl src2.pl #                               staging area



...
Staging area



git add                  git commit




    Handlino   http://handlino.com/
git pull #          ←

git push #          !



git pull github master
git push github bug-31337

             Handlino   ...
mkdir NewProject
cd NewProject
git init
echo "New Project" > README
git add README
git ci -m "first commit!"

           H...
git reset HEAD^ #

git reset <sha1> #


vim src1.pl


git add src1.pl src2.pl
git commit -m "An *awesome* work"

         ...
git log
                              git status
git branch
                              git commit
git checkout
        ...
branch / merge



   Handlino   http://handlino.com/
branch
git branch
git branch -a


git branch <new branch name>
git checkout <branch name>
git checkout -b <new branch name...
merge
git checkout <branch name>
git merge <other branch name>


git checkout job-a
git merge job-b
# job-a <-job-b

     ...
What is a “branch” ?


 c866




master


         Handlino   http://handlino.com/
What is a “branch” ?

       git commit

c866       a957




         master


                  Handlino   http://handlin...
What is a “branch” ?

              git commit

c866   a957        8ecd




                 master


               Handl...
What is a “branch” ?

                         git commit


c866   a957       8ecd              316f




                 ...
What is a “branch” ?
                                           git commit


c866   a957       8ecd              316f     ...
What is a “branch” ?

                                                   git commit

c866   a957       8ecd              3...
What is a “branch” ?


c866       a957




         master

       git commit
                  Handlino   http://handlino...
What is a “branch” ?
  bug-37
                     git checkout -b bug 37
                     git commit
           ce33
...
What is a “branch” ?
             bug-37                                 git commit

       ce33        1aee              ...
What is a “branch” ?
       ce33        1aee                     c3f2




c866   a957       8ecd               316f       ...
What is a “branch” ?
                                                            “merge”
       ce33        1aee          ...
Current branch


c866    a957       8ecd              316f        1aee     c3f2




                                      ...
Current branch

                                                        HEAD


c866    a957       8ecd              316f  ...
Current branch
                                      commit            HEAD


c866    a957       8ecd              316f   ...
Current branch
               bug-37

                                                    HEAD
        ce33        1aee   ...
Current branch
                bug-37


          ce33        1aee                     c3f2




c866      a957       8ecd ...
workflow



Handlino   http://handlino.com/
Topic Branch




  Handlino   http://handlino.com/
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...
branch from master,
 merge to master.
                               css-refactor




                                    ...
Branch

rc - deploy to staging
release - deploy to production
master - dev trunk
(others) - dev topics



            Hand...
topic → master → rc → release
(master) git checkout -b awesome-feature
# hack, hack, hack
git checkout master
git merge aw...
stable master
(master) git checkout -b awesome-feature
# hack, hack, hack
(master) git checkout -b bug-fix-123
# hack, hac...
• git help <command>
• gitready.com
• gitcasts.com


            Handlino   http://handlino.com/
Upcoming SlideShare
Loading in …5
×

Git

1,470 views
1,404 views

Published on

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

No Downloads
Views
Total views
1,470
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
17
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/

×