Sei (k)ein Blödmann und nimm Git!

22,297 views

Published on

Git-Anfängerpräsentation, auf der Django UserGroup Hamburg vorgetragen.

0 Comments
13 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
22,297
On SlideShare
0
From Embeds
0
Number of Embeds
71
Actions
Shares
0
Downloads
160
Comments
0
Likes
13
Embeds 0
No embeds

No notes for slide

Sei (k)ein Blödmann und nimm Git!

  1. 1. Sei (k)ein Blödmann und nimm Git! Einführung in Versionskontrolle mit Git Stefan Imhoff stefanimhoff.de Django-UserGroup Hamburg 04.08.2009
  2. 2. Git /gɪt/ Nomen (Britisch, Slang) 1. Blödmann, Depp, Idiot
  3. 3. »Ich bin ein egoistischer Bastard und benenne alle meine Projekte nach mir selbst. Zuerst Linux, jetzt Git.« – Linus Torvalds
  4. 4. Fakten & Statistiken Warum Git die Mitbewerber abhängt
  5. 5. Init (Sekunden) 0,60 0,059 0,024 Git Mercurial Bazaar Quelle: Scott Chacon, whygitisbetterthanx.com
  6. 6. Add (Sekunden) 8,535 0,368 2,381 Git Mercurial Bazaar Quelle: Scott Chacon, whygitisbetterthanx.com
  7. 7. Status (Sekunden) 14,744 0,451 1,946 Git Mercurial Bazaar Quelle: Scott Chacon, whygitisbetterthanx.com
  8. 8. Diff (Sekunden) 14,248 0,543 2,189 Git Mercurial Bazaar Quelle: Scott Chacon, whygitisbetterthanx.com
  9. 9. Tag (Sekunden) 1,892 1,201 0,056 Git Mercurial Bazaar Quelle: Scott Chacon, whygitisbetterthanx.com
  10. 10. Log (Sekunden) 9,055 0,711 2,65 Git Mercurial Bazaar Quelle: Scott Chacon, whygitisbetterthanx.com
  11. 11. Commit, groß (Sekunden) 23,002 12,48 12,5 Git Mercurial Bazaar Quelle: Scott Chacon, whygitisbetterthanx.com
  12. 12. Commit, klein (Sekunden) 1,139 0,517 0,086 Git Mercurial Bazaar Quelle: Scott Chacon, whygitisbetterthanx.com
  13. 13. Branch, kalt (Sekunden) 94,681 82,249 1,161 Git Mercurial Bazaar Quelle: Scott Chacon, whygitisbetterthanx.com
  14. 14. Branch, heiß (Sekunden) 39,411 12,3 0,07 Git Mercurial Bazaar Quelle: Scott Chacon, whygitisbetterthanx.com
  15. 15. Repository (MB) Gesamtes Verzeichnis (MB) 64 61 53 43 45 34 24 Git Mercurial Bazaar Subversion Quelle: Scott Chacon, whygitisbetterthanx.com
  16. 16. Clone (Sekunden) 311 119 144 64 Git Mercurial Bazaar Subversion Quelle: Scott Chacon, whygitisbetterthanx.com
  17. 17. Theorie & Grundlagen Wer das versteht, ist klar im Vorteil …
  18. 18. .git
  19. 19. SHA-I
  20. 20. Hallo, Welt!
  21. 21. 8095a184a9b9ae8a14a0f0cde697c7f7cf1410e6
  22. 22. Meta-Informationen (Datum, Name, Ort)
  23. 23. Warum? • Konsistente Inhalte • Gleicher Inhalt = gleicher Blob
  24. 24. Objekte
  25. 25. • blobs • trees • commits • tags
  26. 26. Blobs
  27. 27. Dateiinhalte
  28. 28. Trees
  29. 29. • blobs • trees
  30. 30. Commits
  31. 31. • tree • parent • author • commiter • message • datetime
  32. 32. Tags
  33. 33. • object • type • tagger • message
  34. 34. Konfiguration Sag mir wie du heißt, Baby!
  35. 35. git config
  36. 36. git config --global user.name "Stefan Imhoff" git config --global user.email "stefan@imhoff.name"
  37. 37. .gitignore
  38. 38. Tägliche Arbeit Business, not as usual
  39. 39. git clone
  40. 40. git init
  41. 41. git status
  42. 42. Local Working Directory
  43. 43. git add
  44. 44. Local Working Staging Directory Area git add
  45. 45. git commit
  46. 46. Local Working Staging Local Directory Area Repository git add git commit
  47. 47. master
  48. 48. git log
  49. 49. git rm
  50. 50. git diff
  51. 51. git branch
  52. 52. master neuerzweig
  53. 53. git checkout
  54. 54. Local Working Staging Local Directory Area Repository git add git commit git checkout
  55. 55. git merge
  56. 56. Local Working Staging Local Directory Area Repository git add git commit git checkout git merge
  57. 57. master neuerzweig
  58. 58. git tag
  59. 59. Probleme & Wartung Keine Panik auf der Titanic
  60. 60. git commit --amend
  61. 61. git checkout
  62. 62. git reset
  63. 63. git blame
  64. 64. git revert
  65. 65. git mergetool
  66. 66. git bisect
  67. 67. Good ? Bad
  68. 68. Good Good ? Bad
  69. 69. Good Good ? Bad Bad
  70. 70. git gc
  71. 71. Remote E.T. nach Hause telefonieren
  72. 72. Lokales Repository veröffentlichen
  73. 73. git remote
  74. 74. git fetch
  75. 75. Local Remote Working Staging Local Remote Directory Area Repository Repository git add git commit git fetch git checkout git merge
  76. 76. git pull
  77. 77. Local Remote Working Staging Local Remote Directory Area Repository Repository git add git commit git fetch git checkout git merge
  78. 78. git push
  79. 79. Local Remote Working Staging Local Remote Directory Area Repository Repository git add git commit git push git fetch git checkout git merge
  80. 80. git submodules
  81. 81. Profi-Techiken Der Wuxi-Fingergriff von Git
  82. 82. Leere Branches anlegen
  83. 83. History verändern
  84. 84. git svn
  85. 85. git svn rebase git svn dcommit
  86. 86. git instaweb
  87. 87. git stash
  88. 88. Klicki-Bunti Aber gibt’s dat auch für Maus?
  89. 89. Git Gui
  90. 90. Git Extensions
  91. 91. TortoiseGit
  92. 92. GitK
  93. 93. GitX
  94. 94. Und los geht’s … Bereit Versionsgeschichte zu schreiben?
  95. 95. Vielen Dank!
  96. 96. Eingesetzte Fotos Die in dieser Präsentation eingesetzten Fotos stammen von iStockphoto. 8916384 7941768 3391085 1945196 5823044 2699704 7952299 3142537 7420635 7692057 4144887
  97. 97. Eingesetzte Schriften Delicious http://www.josbuivenga.demon.nl/delicious.html Baskerville (&)
  98. 98. Fragen & Antworten

×