Minimum introduction to Git

1.081 Aufrufe

Veröffentlicht am

A short introduction into Git during Night of Projects 2011 at University of Applied Sciences in Fulda - NSFW!

Veröffentlicht in: Bildung
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.081
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
4
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Minimum introduction to Git

  1. 1. Thursday, March 1, 12 1
  2. 2. F*** yourselfThursday, March 1, 12 2
  3. 3. F*** yourself TG I w i thThursday, March 1, 12 3
  4. 4. N SFW Disclaimer Eigentlich hab ich überhaupt keine Ahnung von dem was ich hier gerade rede. Sei es drum, ich wurde durch die Mitarbeit in einem Open Source Projekt dazu gezwungen, git zu verwenden. *sigh* Die Welt war doch so schön mit SVN! Außerdem ist das eine gute Gelegenheit diese ganzen blöden Animationen hier mal auszuprobieren. Die Präsentation steckt voller Copyright violations. Ich bin ein Opfer der Google Bildersuche.Thursday, March 1, 12 4
  5. 5. Versionskontrolle ist was für Hustensaftlutscher! SVN vs. GIT GIT ist total einfa Schei sse! Ohne goog le gehts net?!Thursday, March 1, 12 5
  6. 6. Backups?! WeicheiThursday, March 1, 12 6
  7. 7. Protoko llieren hi vieren Arc Wie derhers tellenThursday, March 1, 12 7
  8. 8. Pro Ar tok chi ollier Wi vie en ede ren rhe rst elle nThursday, March 1, 12 8
  9. 9. Klingt gut. Was nehm ich?Thursday, March 1, 12 9
  10. 10. SVN vs. GITThursday, March 1, 12 10
  11. 11. Su bve zen rsi tra on lThursday, March 1, 12 11
  12. 12. Git dez ent ralThursday, March 1, 12 12
  13. 13. Thursday, March 1, 12 13
  14. 14. SV N * Wird sehr gut von anderen Tools unterstützt * Lässt sich “relativ” leicht verstehen * Ihr könnt zentrales Rechtemanagement betreibenThursday, March 1, 12 14
  15. 15. SV N * Langsam * Historie ist dumm * Branching ist ziemlich anstrengend * Ohne Server unbrauchbarThursday, March 1, 12 15
  16. 16. GIT * Sau schnell * Merge ist einfach * Branch, Branch, Branch ... * Intelligente Historie * Geht auch ohne ServerThursday, March 1, 12 16
  17. 17. GIT * Steiniger Einstieg * Think dif <!-- © violation here! --> Paradigmenwechsel * Linux/Unix simpel, <omg>Windows</omg> * RechtemanagementThursday, March 1, 12 17
  18. 18. GitThursday, March 1, 12 18
  19. 19. Thursday, March 1, 12 19
  20. 20. Beg rif feThursday, March 1, 12 20
  21. 21. * Git verwaltet eine Sammlung von Dateien und deren Änderungen über die Zeit * All diese Informationen werden in der Datenstruktur Repository gespeichertThursday, March 1, 12 21
  22. 22. Wie kommt man da hin? * Ihr braucht git * Nen bissle Grundkonfiguration git config --global user.name "FirstName LastName" git config --global user.email "user@example.com" git config --global color.branch "auto" git config --global color.status "auto" git config --global color.diff "auto" cd PATH/TO/MY/AWESOME/PROJECT git initThursday, March 1, 12 22
  23. 23. * Eine Sammlung von Dateien, die einen Projektstand wiederspiegeln * Die Referenz auf sein parent commit object! * SHA1 name, 40 Zeichen identifizieren das commit object. Erzeugter Hash von relevanten Teilen des commits -> identische commits haben den gleichen NamenThursday, March 1, 12 23
  24. 24. Was bedeutet das?Thursday, March 1, 12 24
  25. 25. DIE git IDEE?! Versionskontrolle ist die Manipulation des Graphen mit all seinen commits. ihr Abf ragen o der Ä nderungen macht, W e nn n es euch helfen da s im Hinterkopf zu kan behalten.Thursday, March 1, 12 25
  26. 26. * Ein head ist eine Referenz auf ein commit object * By default gibts in jedem Repository einen head der master genannt wird * Ein Repository kann beliebig viele heads haben * Der aktuell aktive head wird HEAD genanntThursday, March 1, 12 26
  27. 27. Ok wir haben was zum spielen! git init git commit git log git status git diff git mv / git rmThursday, March 1, 12 27
  28. 28. Ok wir haben was zum spielen!Thursday, March 1, 12 28
  29. 29. Ein branch ist eine Referenz auf ein commit object Beispiel:Thursday, March 1, 12 29
  30. 30. git branch git branch [new-head-name] [reference-to-(B)] git checkoutThursday, March 1, 12 30
  31. 31. Thursday, March 1, 12 31
  32. 32. HIN * Branches zum implementieren TS neuer Features * Branches beinhalten “halbfertiges” * aus master wird released (main/trunk) * Jeder entwickler branched, commits können IMMER gemacht werden, egal ob fertig oder nicht * Commits sind billig, es gibt KEINEN Grund nicht zu commiten!Thursday, March 1, 12 32
  33. 33. Thursday, March 1, 12 33
  34. 34. del ab etin ran g git branch -d [head] chThursday, March 1, 12 34
  35. 35. me pat rge Merge hat meistens zwei Gründe: ter n * Features vom branch in den master zum release ziehen * Bugfixes und features aus dem master in euren feature-branch ziehen um commit Konflikte zu reduzieren und Bugs gefixt zu bekommen * Nachteil von dem da oben: Eure feature branch hat nen haufen merge commits * Hier kann rebasing ins Spiel kommen. Hat aber auch keinen Kuchen :)Thursday, March 1, 12 35
  36. 36. Thursday, March 1, 12 36
  37. 37. Thursday, March 1, 12 37
  38. 38. com ma nd s git reset --hard HEAD git clean -fdx git format-patch -M -C [head]Thursday, March 1, 12 38
  39. 39. Inf os * SmartGit - Non-Plus-Ultra * gitk * Charles Duan, Understanding Git Conceptually * Versionskontrolle mit Git von Jon Loeliger aus dem Verlag O’ReillyThursday, March 1, 12 39

×