Git - The Social Coding System

14,960 views

Published on

Git makes coding becoming a social behavior.

Published in: Technology
4 Comments
66 Likes
Statistics
Notes
No Downloads
Views
Total views
14,960
On SlideShare
0
From Embeds
0
Number of Embeds
3,974
Actions
Shares
0
Downloads
606
Comments
4
Likes
66
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Git - The Social Coding System

    1. 1. GitSocial Coding System Social / josephj joseph_chiang@miiicasa.com
    2. 2. Git
    3. 3. Git 1. CVS
    4. 4. Git 1. CVS2. Perforce
    5. 5. Git 1. CVS2. Perforce3. SVN
    6. 6. Client-Server
    7. 7. Client-Server miiiCasa Repo.
    8. 8. Client-Server miiiCasa Repo.Joseph t checkou
    9. 9. Client-Server miiiCasa Repo.Joseph t checkou ut ko ec ch Hunter
    10. 10. Client-Server miiiCasa Repo.Joseph t checkou ch ec ko ut ko ut ec ch Richard Hunter
    11. 11. Client-Server miiiCasa Repo.Joseph t chec checkou kout Kevin ch ec ko ut ko ut ec ch Richard Hunter
    12. 12. Client-Server miiiCasa commit Repo.Joseph t chec checkou kout Kevin ch ec ko ut ko ut ec ch Richard Hunter
    13. 13. Client-Server miiiCasa commit Repo.Joseph t chec checkou kout Kevin ch it m ec m ko ut co ko ut ec ch Richard Hunter
    14. 14. Client-Server miiiCasa commit Repo.Joseph t chec checkou kout Kevin co ch m it m m ec it m ko ut co ko ut ec ch Richard Hunter
    15. 15. Client-Server miiiCasa commit Repo. com mitJoseph t chec checkou kout Kevin co ch m it m m ec it m ko ut co ko ut ec ch Richard Hunter
    16. 16. Client-Server miiiCasa commit Repo. com mitJoseph t chec checkou kout Kevin co ch m it m m ec it m ko ut co ko ut ec ch Richard Hunter
    17. 17. Client-Server FTP miiiCasa commit checkout Repo. com mitJoseph t chec checkou kout Kevin commit co m ch it m m ec it m ko ut co ko ut ec ch Richard Hunter
    18. 18. Client-Server miiiCasa commit Repo. com mitJoseph t chec checkou kout Web 1.0 ? co Kevin ch m it m m ec it m ko ut co ko ut ec ch Richard Hunter
    19. 19. Client-Server Client-Server miiiCasa commit Server commit Repo.Joseph t chec checkou kout Kevin Server co m ch it m m ec it m ko ut co ko ut ec ch Richard Hunter
    20. 20. P2P Server Client http://www.flickr.com/photos/rocketraccoon/227241974/
    21. 21. Linus Torvalds Linux Linux 85.6 2.6.24 7 Core Team Linux Kernal 2005 Git form jserv Githttp://www.flickr.com/photos/theducks/2236111019/ http://www.slideshare.net/tim518/loving-git2
    22. 22. CVS SVN Linus Torvalds Linux Subversion has been the most pointless project ever started. Subversion used to say CVS done right... There is no way to do CVS right. If you like using CVS, you should be in some kind of mental institution or somewhere else.http://www.flickr.com/photos/theducks/2236111019/ CVS SVN
    23. 23. CVS SVN Linus Torvalds Linux Subversion has been the most pointless project ever started. SVN Subversion used to say CVS done right... There is no way to do CVS right. Git If you like using CVS, you should be in some kind of mental institution or somewhere else.http://www.flickr.com/photos/theducks/2236111019/ CVS SVN
    24. 24. Git P2P Peer-To-Peer git clone RepoRepo clone
    25. 25. Git P2P Peer-To-Peer miiiCasa git cloneRichard git clone git clone git clone Joseph Hunter Kevin git clone Repo Repo clone
    26. 26. Git P2P Peer-To-Peer miiiCasa RepoRichard Git git clone git clone git clone git clone Joseph Hunter Kevin git clone Repo Repo clone
    27. 27. git commitmiiiCasa Repository Joseph Hunter Kevin
    28. 28. git commitmiiiCasa Repository Joseph vim foo.txt Hunter Kevin
    29. 29. git commitmiiiCasa Repository Joseph vim foo.txt git add foo.txt Hunter Kevin
    30. 30. git commitmiiiCasa Repository Joseph vim foo.txt git add foo.txt Hunter git commit -m “typo correct” Kevin
    31. 31. git commitmiiiCasa Repository Commit Joseph vim foo.txt git add foo.txt Hunter git commit -m “typo correct” Kevin
    32. 32. git commitmiiiCasa Repository Commit Joseph vim foo.txt git add foo.txt Hunter git commit -m “typo correct” Kevin git commit Repo Repo
    33. 33. git commitmiiiCasa Repository Commit Joseph vim foo.txt git add foo.txt Hunter git commit -m “typo correct” Kevin git commit Repo Repo SVN => Commit (SVK)
    34. 34. git pullmiiiCasa Origin Repo Joseph Hunter Kevin
    35. 35. git pullmiiiCasa Origin Repo Joseph Hunter git pull Kevin
    36. 36. git pullmiiiCasa Origin Repo git pull Joseph Hunter git pull Kevin
    37. 37. git pullmiiiCasa Origin Repo + miiiCasa git pull Joseph Hunter git pull Kevin
    38. 38. git pullmiiiCasa Origin Repo + miiiCasa git pull Joseph Hunter git pull Kevin git pull Repository merge
    39. 39. git pullmiiiCasa Origin Repo + miiiCasa git pull Joseph Hunter git pull Kevin git pull Repository merge svn checkout
    40. 40. git pull <remote> <branch> miiiCasa Repo git clone git clonegit clone Joseph git clone Hunter Kevin
    41. 41. git pull <remote> <branch> miiiCasa Repo git clone git clonegit clone Joseph git clone Hunter git pull Kevin master Kevin
    42. 42. git pull <remote> <branch> miiiCasa Repo git clone git clonegit clone Joseph git clone Hunter git pull Kevin master git pull Kevin master Kevin
    43. 43. git pull <remote> <branch> miiiCasa Repo git clone + miiiCasa + Kevin git clonegit clone Joseph git clone Hunter git pull Kevin master git pull Kevin master Kevin
    44. 44. git pull <remote> <branch> miiiCasa Repo git clone + miiiCasa + Kevin git clonegit clone Joseph git clone Hunter git pull Kevin master git pull Kevin master Kevin Commit ID Repo
    45. 45. git pull <remote> <branch> miiiCasa Repo git clone + miiiCasa + Kevin git clonegit clone Joseph git clone Hunter git pull Kevin master git pull Kevin master Kevin Commit ID Repo svn checkout
    46. 46. git push miiiCasa Origingit clone Joseph Hunter Kevin
    47. 47. git push miiiCasa Origingit clone Joseph Hunter git push Kevin
    48. 48. git push miiiCasa Origin git pushgit clone Joseph Hunter git push Kevin
    49. 49. miiiCasa + Kevin git push miiiCasa Origin git pushgit clone Joseph Hunter git push Kevin
    50. 50. miiiCasa + Kevin git push miiiCasa Origin git pushgit clone Joseph Hunter git push Kevin pull/push merge
    51. 51. miiiCasa + Kevin git push miiiCasa Origin git pushgit clone Joseph Hunter git push Kevin pull/push merge svn commit again
    52. 52. FacebookWeb 2.0 ?
    53. 53. • git clone Repo
    54. 54. • git clone Repo• git add + commit Repo
    55. 55. • git clone Repo• git add + commit Repo• git pull / push Repo merge
    56. 56. • Commit ( SVN )
    57. 57. • Commit ( SVN )• git pull / push ( Central Repository)
    58. 58. • Commit ( SVN )• git pull / push ( Central Repository)• SVN 2 svn checkout = git pull svn commit = (git add +) git commit + git push
    59. 59. Git Central Repo Centralization?
    60. 60. Git 2 pull/push Read/Write
    61. 61. SCM Centralized Peer-To-Peer push miiiCasa pushJoseph pull pull Kevin pu sh h pu s pu ll ll pu Hunter Richard merge
    62. 62. miiiCasa gitosis https://github.com/res0nat0r/gitosis
    63. 63. Git BranchBranch
    64. 64. Branch Task diff
    65. 65. Branch
    66. 66. BranchJoseph’s Repo master Task
    67. 67. Branch Joseph’s Repo bug doc masterenhance crazy Task
    68. 68. git branch
    69. 69. git branchBranch
    70. 70. git branch Branch Joseph’s Repo Commit 0master
    71. 71. git branch Branch Joseph’s Repo Commit 0master 1. $ git branch crazy
    72. 72. git branch Branch Joseph’s Repo Commit 0master 1. $ git branch crazy Commit A crazy
    73. 73. git branch Branch Joseph’s Repo Commit 0master 1. $ git branch crazy Commit A Commit A1 crazy
    74. 74. git branch Branch Joseph’s Repo Commit 0master 1. $ git branch crazy 2. $ git checkout master Commit A Commit A1 crazy
    75. 75. git branch Branch Joseph’s Repo Commit 0 Commit 1master 1. $ git branch crazy 2. $ git checkout master Commit A Commit A1 crazy
    76. 76. git branch Branch Joseph’s Repo Commit 0 Commit 1 Commit 2master 1. $ git branch crazy 2. $ git checkout master Commit A Commit A1 crazy
    77. 77. git branch Branch Joseph’s Repo Commit 0 Commit 1 Commit 2master 1. $ git branch crazy 2. $ git checkout master Commit A Commit A1 crazy Branch
    78. 78. git rebase
    79. 79. git rebasebranch master
    80. 80. git rebase branch master Joseph’s Repo Commit 0 Commit 1 Commit 2master Commit A Commit A1 crazy master crazy
    81. 81. git rebase branch master Joseph’s Repo Commit 0 Commit 1 Commit 2master 1. $ git checkout crazy Commit A Commit A1 crazy master crazy
    82. 82. git rebase branch master Joseph’s Repo Commit 0 Commit 1 Commit 2master 1. $ git checkout crazy 2. $ git rebase master Commit A Commit A1 crazy master crazy
    83. 83. git merge
    84. 84. git merge master
    85. 85. git merge master Joseph’s Repo Commit 0 Commit 1 Commit 2master Commit A Commit A1 crazy master crazy commit
    86. 86. git merge master Joseph’s Repo Commit 0 Commit 1 Commit 2master 1. $ git checkout master Commit A Commit A1 crazy master crazy commit
    87. 87. git merge master Joseph’s Repo Commit 0 Commit 1 Commit 2master 1. $ git checkout master 2. $ git merge crazy Commit A Commit A1 crazy master crazy commit
    88. 88. git merge master Joseph’s Repo Commit 0 Commit 1 Commit 2master Commit A Commit A1 1. $ git checkout master 2. $ git merge crazy Commit A Commit A1 crazy master crazy commit
    89. 89. git merge master Joseph’s Repo Commit 0 Commit 1 Commit 2 Commit 3master Commit A Commit A1 1. $ git checkout master 2. $ git merge crazy Commit A Commit A1 crazy master crazy commit
    90. 90. • git branch crazy branch crazy
    91. 91. • git branch crazy branch crazy• git checkout crazy crazy branch
    92. 92. • git branch crazy branch crazy• git checkout crazy crazy branch• git rebase master master branch sync ( commit)
    93. 93. • git branch crazy branch crazy• git checkout crazy crazy branch• git rebase master master branch sync ( commit)• git merge crazy master crazy branch ( commit)
    94. 94. Git Branch Branch
    95. 95. Git Remote Branch Branch
    96. 96. SVN Branch Git
    97. 97. Git Branch Origin master Joseph Huntermaster Richard master master master remote branch
    98. 98. Git Branch Origin master Joseph Huntermaster Richard master master git pull/push
    99. 99. Git Branch Origin master Joseph Huntermaster Richard master $ grb create f2e-enhance master git pull/push
    100. 100. Git Branch Origin master f2e-enhance Joseph Huntermaster f2e-enhance Richard master $ grb create f2e-enhance master git pull/push
    101. 101. Git Branch Origin master f2e-enhance Joseph Huntermaster f2e-enhance Richard master master git pull/push
    102. 102. Git Branch Origin master f2e-enhance Joseph Huntermaster f2e-enhance Richard master $ grb track f2e-enhance master git pull/push
    103. 103. Git Branch Origin master f2e-enhance Joseph Huntermaster f2e-enhance Richard master f2e-enhance master git pull/push
    104. 104. Git Branch Origin hotfix master f2e-enhance Joseph Huntermaster f2e-enhance Richard master f2e-enhance master hotfix $ grb create hotfix git pull/push
    105. 105. Git Branch Origin hotfix master f2e-enhance Joseph Huntermaster f2e-enhance Richard master f2e-enhance master hotfix git pull/push
    106. 106. Git Branch Origin hotfix master f2e-enhance Joseph Hunter hotfixmaster f2e-enhance Richard master f2e-enhance master hotfix git pull/push
    107. 107. Git Remote Branch BranchCode Review
    108. 108. miiiCasa grb branch https://github.com/blog/98-git-remote-branch
    109. 109. - Git SubmoduleRepo
    110. 110. Open Source Library CodeCommit Repo.
    111. 111. Submodule jquery ~
    112. 112. jquery github git://github.com/jquery/jquery.git jqueryJoseph
    113. 113. jquery github git://github.com/jquery/jquery.git jquery Joseph$ git submodule add git://github.com/jquery/jquery static/lib/jquery
    114. 114. jquery github git://github.com/jquery/jquery.git jquery Joseph 20a1bd jquery static/lib/jquery Repo commit ID$ git submodule add git://github.com/jquery/jquery static/lib/jquery
    115. 115. jquery github git://github.com/jquery/jquery.git jqueryJoseph
    116. 116. jquery github git://github.com/jquery/jquery.git jquery Joseph$ cd static/lib/jquery$ git pull
    117. 117. jquery github git://github.com/jquery/jquery.git jquery Joseph ?????? jquery git pull$ cd static/lib/jquery$ git pull
    118. 118. jquery github git://github.com/jquery/jquery.git jquery Joseph ?????? jquery git pull$ cd static/lib/jquery$ git pull jquery ...
    119. 119. jquery github git://github.com/jquery/jquery.git jquery Josephclone jquery
    120. 120. jquery github git://github.com/jquery/jquery.git jquery Joseph jquery github git://github.com/miiicasa/jquery.gitclone jquery
    121. 121. jquery github git://github.com/jquery/jquery.git jquery Joseph ?????? jquery github git://github.com/miiicasa/jquery.gitclone jquery
    122. 122. miiiCasa submodule
    123. 123. submodule http://josephj.com/entry.php?id=342 http://josephj.com/entry.php?id=357
    124. 124. Git MiscGit
    125. 125. vimdiff Git diffhttp://blog.longwin.com.tw/2009/11/vimdiff-vs-git-diff-2009/
    126. 126. post-receivegit push http://josephj.com/entry.php?id=346
    127. 127. post-receive Ticket
    128. 128. post-receive Ticket> git commit -m “Commit just for testing trac-post-receive #1831”> git push
    129. 129. post-receive Ticket> git commit -m “Commit just for testing trac-post-receive #1831”> git push
    130. 130. post-receive Ticket> git commit -m “Commit just for testing trac-post-receive #1831”> git push
    131. 131. post-receive Ticket> git commit -m “Commit just for testing trac-post-receive #1831”> git push
    132. 132. pre-commitPHPCS, JSLint, CSSLint Commit
    133. 133. GitHubSocial Coding
    134. 134. Open Source Project github
    135. 135. Social CodingOpen Source
    136. 136. Social CodingOpen Source
    137. 137. Social CodingOpen Source git clone ( )
    138. 138. Social CodingOpen Source fork git clone ( )
    139. 139. Social CodingOpen Source merge fork git clone ( )
    140. 140. Social CodingOpen Source merge fork Bug git clone ( )
    141. 141. Social Coding Open Source merge Bug GitHub forkSocial Project git clone ( )
    142. 142. github Open
    143. 143. github Open miiiCasa private central repository Joseph Kevin Richard employee employee employee *.corp.miiicasa.com
    144. 144. github Open github.com miiiCasa miiiCasa private central public central repository repository Joseph Kevin Richard employee employee employee *.corp.miiicasa.com
    145. 145. github Open github.com miiiCasa miiiCasa private central public central repository repository Clonn Joseph Kevin Richard contributor employee employee employee *.corp.miiicasa.com
    146. 146. github Open github.com miiiCasa miiiCasa private central public central repository repository Clonn Joseph Kevin Richard contributor employee employee employee *.corp.miiicasa.com
    147. 147. Google Code 2011/8/1 Githttp://googlecode.blogspot.com/2011/08/announcing-git-support-for-google-code.html
    148. 148. Git
    149. 149. GitGitHub
    150. 150. Git GitHubOpen
    151. 151. Git GitHubOpen
    152. 152. Git GitHubOpen ...
    153. 153. Git GitHubOpen ... Github
    154. 154. Git GitHubOpen ... Github Social Coding
    155. 155. Questions
    156. 156. Questions• Git SVN, CVS
    157. 157. Questions• Git SVN, CVS• Git Issue System
    158. 158. Questions• Git SVN, CVS• Git Issue System• SVN Git
    159. 159. Questions• Git SVN, CVS• Git Issue System• SVN Git• Git
    160. 160. Questions• Git SVN, CVS• Git Issue System• SVN Git• Git Any more questios?
    161. 161. Thank you for sharing!

    ×