Sei kein Blödmann und nimm Git!

16f9d21a4890d0a1cd20818c7ed10854?s=47 Stefan Imhoff
September 27, 2011

Sei kein Blödmann und nimm Git!

Intro to Git (in German).

16f9d21a4890d0a1cd20818c7ed10854?s=128

Stefan Imhoff

September 27, 2011
Tweet

Transcript

  1. Sei (k)ein Blödmann und nimm Git! Einführung in Versionskontrolle mit

    Git Stefan Imhoff http://stefanimhoff.de 04.08.2009
  2. Git /gɪt/ Nomen (Britisch, Slang) 1. Blödmann, Depp, Idiot

  3. »Ich bin ein egoistischer Bastard und benenne alle meine Projekte

    nach mir selbst. Zuerst Linux, jetzt Git.« – Linus Torvalds
  4. Fakten & Statistiken Warum Git die Mitbewerber abhängt

  5. Git Mercurial Bazaar 0,60 0,059 0,024 Init (Sekunden) Quelle: Scott

    Chacon, whygitisbetterthanx.com
  6. Git Mercurial Bazaar 2,381 0,368 8,535 Add (Sekunden) Quelle: Scott

    Chacon, whygitisbetterthanx.com
  7. Git Mercurial Bazaar 14,744 1,946 0,451 Status (Sekunden) Quelle: Scott

    Chacon, whygitisbetterthanx.com
  8. Git Mercurial Bazaar 14,248 2,189 0,543 Diff (Sekunden) Quelle: Scott

    Chacon, whygitisbetterthanx.com
  9. Git Mercurial Bazaar 1,892 1,201 0,056 Tag (Sekunden) Quelle: Scott

    Chacon, whygitisbetterthanx.com
  10. Git Mercurial Bazaar 9,055 2,65 0,711 Log (Sekunden) Quelle: Scott

    Chacon, whygitisbetterthanx.com
  11. Git Mercurial Bazaar 23,002 12,5 12,48 Commit, groß (Sekunden) Quelle:

    Scott Chacon, whygitisbetterthanx.com
  12. Git Mercurial Bazaar 1,139 0,517 0,086 Commit, klein (Sekunden) Quelle:

    Scott Chacon, whygitisbetterthanx.com
  13. Git Mercurial Bazaar 82,249 94,681 1,161 Branch, kalt (Sekunden) Quelle:

    Scott Chacon, whygitisbetterthanx.com
  14. Git Mercurial Bazaar 39,411 12,3 0,07 Branch, heiß (Sekunden) Quelle:

    Scott Chacon, whygitisbetterthanx.com
  15. Git Mercurial Bazaar Subversion 61 64 53 43 45 34

    24 Repository (MB) Gesamtes Verzeichnis (MB) Quelle: Scott Chacon, whygitisbetterthanx.com
  16. Git Mercurial Bazaar Subversion 64 311 144 119 Clone (Sekunden)

    Quelle: Scott Chacon, whygitisbetterthanx.com
  17. Theorie & Grundlagen Wer das versteht, ist klar im Vorteil

  18. .git

  19. None
  20. SHA-I

  21. Hallo, Welt!

  22. 8095a184a9b9ae8a14a0f0cde697c7f7cf1410e6

  23. Meta-Informationen (Datum, Name, Ort)

  24. Meta-Informationen (Datum, Name, Ort)

  25. Meta-Informationen (Datum, Name, Ort)

  26. Warum? • Konsistente Inhalte • Gleicher Inhalt = gleicher Blob

  27. Objekte

  28. • blobs • trees • commits • tags

  29. Blobs

  30. Dateiinhalte

  31. Trees

  32. • blobs • trees

  33. Commits

  34. • tree • parent • author • commiter • message

    • datetime
  35. Tags

  36. • object • type • tagger • message

  37. Konfiguration Sag mir wie du heißt, Baby!

  38. git config

  39. git config --global user.name "Stefan Imhoff" git config --global user.email

    "stefan@imhoff.name"
  40. None
  41. .gitignore

  42. None
  43. Tägliche Arbeit Business, not as usual

  44. git clone

  45. None
  46. git init

  47. None
  48. git status

  49. None
  50. Working Directory Local

  51. git add

  52. None
  53. Working Directory Staging Area Local

  54. Working Directory Staging Area Local

  55. Working Directory Staging Area git add Local

  56. None
  57. git commit

  58. None
  59. Working Directory Staging Area Local Repository git add Local

  60. Working Directory Staging Area Local Repository git add Local

  61. Working Directory Staging Area Local Repository git add git commit

    Local
  62. master

  63. git log

  64. None
  65. None
  66. git rm

  67. None
  68. None
  69. git diff

  70. None
  71. git branch

  72. None
  73. None
  74. None
  75. master neuerzweig

  76. git checkout

  77. None
  78. None
  79. None
  80. Working Directory Staging Area Local Repository git add git commit

    Local
  81. Working Directory Staging Area Local Repository git add git commit

    Local
  82. Working Directory Staging Area Local Repository git add git commit

    git checkout Local
  83. git merge

  84. None
  85. Working Directory Staging Area Local Repository git add git commit

    git checkout Local
  86. Working Directory Staging Area Local Repository git add git commit

    git checkout Local
  87. Working Directory Staging Area Local Repository git add git commit

    git checkout git merge Local
  88. master neuerzweig

  89. None
  90. git tag

  91. None
  92. Probleme & Wartung Keine Panik auf der Titanic

  93. git commit --amend

  94. None
  95. None
  96. git checkout

  97. None
  98. git reset

  99. None
  100. git blame

  101. None
  102. git revert

  103. None
  104. git mergetool

  105. None
  106. None
  107. git bisect

  108. None
  109. Bad Good ?

  110. Bad Good Good ?

  111. Bad Good Good Bad ?

  112. git gc

  113. None
  114. Remote E.T. nach Hause telefonieren

  115. Lokales Repository veröffentlichen

  116. None
  117. None
  118. None
  119. None
  120. git remote

  121. None
  122. None
  123. git fetch

  124. None
  125. None
  126. Working Directory Staging Area Local Repository Remote Repository git add

    git commit git checkout git merge Local Remote
  127. Working Directory Staging Area Local Repository Remote Repository git add

    git commit git checkout git merge Local Remote
  128. Working Directory Staging Area Local Repository Remote Repository git add

    git commit git fetch git checkout git merge Local Remote
  129. git pull

  130. None
  131. Working Directory Staging Area Local Repository Remote Repository git add

    git commit git checkout Local Remote
  132. Working Directory Staging Area Local Repository Remote Repository git add

    git commit git checkout Local Remote
  133. Working Directory Staging Area Local Repository Remote Repository git add

    git commit git fetch git checkout Local Remote
  134. Working Directory Staging Area Local Repository Remote Repository git add

    git commit git fetch git checkout Local Remote
  135. Working Directory Staging Area Local Repository Remote Repository git add

    git commit git fetch git checkout git merge Local Remote
  136. git push

  137. None
  138. Working Directory Staging Area Local Repository Remote Repository git add

    git commit git checkout git merge Local Remote git fetch
  139. Working Directory Staging Area Local Repository Remote Repository git add

    git commit git checkout git merge Local Remote git fetch
  140. Working Directory Staging Area Local Repository Remote Repository git add

    git commit git push git checkout git merge Local Remote git fetch
  141. git submodules

  142. None
  143. None
  144. None
  145. Profi-Techiken Der Wuxi-Fingergriff von Git

  146. Leere Branches anlegen

  147. None
  148. History verändern

  149. None
  150. git svn

  151. None
  152. git svn rebase git svn dcommit

  153. git instaweb

  154. None
  155. None
  156. git stash

  157. None
  158. None
  159. None
  160. Klicki-Bunti Aber gibt’s dat auch für Maus?

  161. Git Gui

  162. None
  163. None
  164. None
  165. Git Extensions

  166. None
  167. None
  168. TortoiseGit

  169. None
  170. None
  171. None
  172. None
  173. None
  174. None
  175. GitK

  176. None
  177. GitX

  178. None
  179. None
  180. Und los geht’s … Bereit Versionsgeschichte zu schreiben?

  181. Vielen Dank!

  182. Eingesetzte Fotos Die in dieser Präsentation eingesetzten Fotos stammen von

    iStockphoto. 8916384 7941768 3391085 1945196 5823044 2699704 7952299 3142537 7420635 7692057 4144887
  183. Eingesetzte Schriften Delicious http://www.josbuivenga.demon.nl/delicious.html Baskerville (&)

  184. Fragen & Antworten