Thursday, March 1, 12   1
F*** yourselfThursday, March 1, 12                   2
F*** yourself                                  TG I                          w i thThursday, March 1, 12                  ...
N SFW        Disclaimer  Eigentlich hab ich überhaupt keine Ahnung von dem  was ich hier gerade rede. Sei es drum, ich wur...
Versionskontrolle ist was für Hustensaftlutscher!                                  SVN vs. GIT     GIT ist total einfa    ...
Backups?!                        WeicheiThursday, March 1, 12                 6
Protoko llieren                       hi vieren                   Arc        Wie derhers tellenThursday, March 1, 12      ...
Pro                         Ar   tok                            chi ollier                        Wi     vie       en     ...
Klingt gut.                        Was nehm ich?Thursday, March 1, 12                   9
SVN vs. GITThursday, March 1, 12                 10
Su                          bve                        zen   rsi                            tra   on                      ...
Git                        dez                            ent                                ralThursday, March 1, 12     ...
Thursday, March 1, 12   13
SV                                           N * Wird sehr gut von anderen Tools unterstützt * Lässt sich “relativ” leicht...
SV                                                    N                  * Langsam                  * Historie ist dumm   ...
GIT                  * Sau schnell                  * Merge ist einfach                  * Branch, Branch, Branch ...     ...
GIT           * Steiniger Einstieg           * Think dif <!-- © violation here! -->             Paradigmenwechsel         ...
GitThursday, March 1, 12         18
Thursday, March 1, 12   19
Beg                           rif                              feThursday, March 1, 12              20
* Git verwaltet eine Sammlung von           Dateien und deren Änderungen über die           Zeit         * All diese Infor...
Wie kommt man da hin?                        * Ihr braucht git                        * Nen bissle Grundkonfiguration   gi...
* Eine Sammlung von Dateien, die einen     Projektstand wiederspiegeln   * Die Referenz auf sein parent commit object!   *...
Was bedeutet das?Thursday, March 1, 12   24
DIE git IDEE?!   Versionskontrolle ist die Manipulation des   Graphen mit all seinen commits.          ihr Abf ragen o der...
* Ein head ist eine Referenz auf ein commit       object     * By default gibts in jedem Repository einen       head der m...
Ok wir haben was zum spielen!                  git   init                  git   commit                  git   log        ...
Ok wir haben was zum spielen!Thursday, March 1, 12                         28
Ein branch ist eine Referenz     auf ein commit object    Beispiel:Thursday, March 1, 12               29
git branch  git branch [new-head-name] [reference-to-(B)]  git checkoutThursday, March 1, 12                             30
Thursday, March 1, 12   31
HIN        * Branches zum implementieren           TS          neuer Features        * Branches beinhalten “halbfertiges” ...
Thursday, March 1, 12   33
del                                    ab   etin                                       ran    g             git branch -d ...
me                                      pat  rge Merge hat meistens zwei Gründe:         ter                              ...
Thursday, March 1, 12   36
Thursday, March 1, 12   37
com                                         ma                                           nd                               ...
Inf                                               os       * SmartGit - Non-Plus-Ultra       * gitk       * Charles Duan, ...
Upcoming SlideShare
Loading in …5
×

Minimum introduction to Git

910 views
854 views

Published on

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

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
910
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×