Einführung in Git                     René Bruns                       GameCamp MunichDonnerstag, 14. Juli 2011
Über mich                            • René Bruns                            • Entwickler seit 2001                       ...
Über Travian Games                                  • Hauptsitz in München                                  • 2005 gegründ...
Agenda                            Historisches                            Git Grundlagen                            Coole ...
Umfrage                                    Wer hat schon mit einem                            Sourcecodeverwaltungssystem ...
UmfrageDonnerstag, 14. Juli 2011
Umfrage             Subversion?Donnerstag, 14. Juli 2011
Umfrage             Subversion?                  CVS?Donnerstag, 14. Juli 2011
Umfrage             Subversion?                  CVS?                            Git?Donnerstag, 14. Juli 2011
Umfrage             Subversion?                  CVS?                                         Git?                        ...
Umfrage             Subversion?                                         Bazaar?                  CVS?                     ...
Umfrage                                                          Perforce?             Subversion?                        ...
Umfrage                                                          Perforce?             Subversion?                        ...
Umfrage                                                           Perforce?             Subversion?                       ...
Umfrage                                                          Perforce?             Subversion?                        ...
Historisches                            • Entwickelt 2005                            • Ablöse von Bitkeeper als           ...
Legende                            1         Ich bin ein CommitDonnerstag, 14. Juli 2011
Legende                            1        2         Ich bin ein Commit     Ich baue auf Commit 1 aufDonnerstag, 14. Juli...
Legende             Branch                                A       B                            1       2Donnerstag, 14. Ju...
Revisions vs. Hash          Revisions                                  4711          HashDonnerstag, 14. Juli 2011
Revisions vs. Hash                                         4712          Revisions                                  4711  ...
Revisions vs. Hash                                         4712   4713          Revisions                                 ...
Revisions vs. Hash                                         4712          4713          Revisions                          ...
Revisions vs. Hash                                             4712          4713          Revisions                      ...
Revisions vs. Hash                                             4712             4713          Revisions                   ...
Revisions vs. Hash                                             4712             4713          Revisions                   ...
Revisions vs. Hash                                             4712                4713          Revisions                ...
Zentrales System (bspw. SVN)      Branch 1     Trunk                                            Server      Branch 2      ...
Dezentrales System      Branch 1     Trunk                                  Server      Branch 1     Trunk                ...
Dezentrales System      Branch 1     Trunk                                            Server                              ...
Dezentrales System      Branch 1     Trunk                                            Server                              ...
Dezentrales System      Branch 1     Trunk                                            Server                              ...
Dezentrales System      Branch 1     Trunk                                            Server                              ...
Dezentrales System                                  ClientsDonnerstag, 14. Juli 2011
Die vier Ebenen von GitDonnerstag, 14. Juli 2011
Die vier Ebenen von Git                                   Working DirectoryDonnerstag, 14. Juli 2011
Die vier Ebenen von Git                                       Staging                                   Working DirectoryD...
Die vier Ebenen von Git                                       Repository                                        Staging   ...
Die vier Ebenen von Git                                  Remote Repository                                       Repositor...
Das "Pointer-Prinzip"                              A          B                    1                2Donnerstag, 14. Juli ...
Das "Pointer-Prinzip"                              A          B                                             Master        ...
Das "Pointer-Prinzip"                                                      Branch                              A          ...
Das "Pointer-Prinzip"                                                      Branch                              A          ...
Das "Pointer-Prinzip"                                                         Branch                               A      ...
Typischer Workflow                            Repository erstellen                                 $ mkdir gitrepo         ...
Typischer Workflow                                  Arbeiten...                             $ vi index.php                 ...
Typischer Workflow                            Zu Commit hinzufügen ("stagen")                                  $ git add in...
Typischer Workflow                                    Commiten                            $ git commit -m "Testcommit"     ...
Typischer Workflow                            Ändern und direkt commiten                                     $ vi index.php...
Typischer Workflow                            Ändern und direkt commiten                            $ vi index.php         ...
Schnelles Branchen und Mergen                                  Branch erstellen                            $ git checkout ...
Schnelles Branchen und Mergen                                Im Branch arbeiten                                  $ vi inde...
Schnelles Branchen und Mergen                                   Im Branch arbeiten                            $ vi index.p...
Schnelles Branchen und Mergen                                    Branch wechseln                                          ...
Schnelles Branchen und Mergen                                                                Master*                      ...
Schnelles Branchen und Mergen                                           Rebase                                $ git checko...
Schnelles Branchen und Mergen                                        Rebase                                $ git rebase ma...
Schnelles Branchen und Mergen                                   Fast-Forward Merge                                $ git ch...
Coole Tools                            BisectDonnerstag, 14. Juli 2011
Coole Tools                                   Bisect       OK                            ?              X    Good         ...
Coole Tools                                       Bisect       OK                   OK   OK    OK             ?   X    Goo...
Coole Tools                                       Bisect       OK                   OK   OK     OK      ?    X     X    Go...
Coole Tools                                       Bisect       OK                   OK   OK    OK       OK     !    X    G...
Coole Tools                              Bisect                            Live DemoDonnerstag, 14. Juli 2011
Coole Tools                                Interactive Rebasing          1                 2    3      4     5        6   ...
Coole Tools                                Interactive Rebasing                                       Edit 6          1   ...
Coole Tools                                Interactive Rebasing                                      Squash 2&3           ...
Coole Tools                            Interactive Rebasing                                  Löschen 4                    ...
Coole Tools                            Interactive Rebasing                                Live DemoDonnerstag, 14. Juli 2...
Coole Tools                            Weitere Coole ToolsDonnerstag, 14. Juli 2011
Coole Tools                            Weitere Coole Tools             •Commits korrigieren ($ git commit --amend)Donnerst...
Coole Tools                            Weitere Coole Tools             •Commits korrigieren ($ git commit --amend)        ...
Coole Tools                            Weitere Coole Tools             •Commits korrigieren ($ git commit --amend)        ...
Coole Tools                            Weitere Coole Tools             •Commits korrigieren ($ git commit --amend)        ...
Coole Tools                            Weitere Coole Tools             •Commits korrigieren ($ git commit --amend)        ...
Coole Tools                            Weitere Coole Tools             •Commits korrigieren ($ git commit --amend)        ...
Lesezeichen - Links und so     •Git-Homepage: http://git-scm.com/     •Pro Git Book + Free Ebook: http://progit.org/     •...
Vielen Dank!         • Feedback? Fragen?         • Email: r.bruns@traviangames.com         • Twitter: @renebrunsDonnerstag...
Nächste SlideShare
Wird geladen in …5
×

Einführung in Git - GameCamp Munich 2011

1.609 Aufrufe

Veröffentlicht am

Eine kurze Einführung in Git. Was ist Git? Was unterscheidet es von anderen Systemen? Warum ist es so cool?

Veröffentlicht in: Technologie
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.609
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
24
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Einführung in Git - GameCamp Munich 2011

  1. 1. Einführung in Git René Bruns GameCamp MunichDonnerstag, 14. Juli 2011
  2. 2. Über mich • René Bruns • Entwickler seit 2001 • Seit 2009 bei Travian Games • Seit 2011 Technical Director Games DevelopmentDonnerstag, 14. Juli 2011
  3. 3. Über Travian Games • Hauptsitz in München • 2005 gegründet • >200 Mitarbeiter • >100 Mio. Registrierungen • 52 Länderversionen von Travian • Travian, Travianer, Wewaii, Imperion, goalunited, Ballersunited, Eredan, Miramagia, Remanum, BattlemonsDonnerstag, 14. Juli 2011
  4. 4. Agenda Historisches Git Grundlagen Coole Tools Mehr InfosDonnerstag, 14. Juli 2011
  5. 5. Umfrage Wer hat schon mit einem Sourcecodeverwaltungssystem gearbeitet?Donnerstag, 14. Juli 2011
  6. 6. UmfrageDonnerstag, 14. Juli 2011
  7. 7. Umfrage Subversion?Donnerstag, 14. Juli 2011
  8. 8. Umfrage Subversion? CVS?Donnerstag, 14. Juli 2011
  9. 9. Umfrage Subversion? CVS? Git?Donnerstag, 14. Juli 2011
  10. 10. Umfrage Subversion? CVS? Git? Mercurial?Donnerstag, 14. Juli 2011
  11. 11. Umfrage Subversion? Bazaar? CVS? Git? Mercurial?Donnerstag, 14. Juli 2011
  12. 12. Umfrage Perforce? Subversion? Bazaar? CVS? Git? Mercurial?Donnerstag, 14. Juli 2011
  13. 13. Umfrage Perforce? Subversion? Bazaar? CVS? Git? Mercurial? Visual SourceSafe?Donnerstag, 14. Juli 2011
  14. 14. Umfrage Perforce? Subversion? Bazaar? CuPiDo? CVS? Git? Mercurial? Visual SourceSafe?Donnerstag, 14. Juli 2011
  15. 15. Umfrage Perforce? Subversion? Bazaar? Copy und Paste in Datumsordner CVS? Git? Mercurial? Visual SourceSafe?Donnerstag, 14. Juli 2011
  16. 16. Historisches • Entwickelt 2005 • Ablöse von Bitkeeper als Versionsverwaltung des Linux-Kernels • Wird eingesetzt von Git, Samba, X.org, GNOME, Ruby on Rails, VLC, Wine, Perl 5, phpBB, ...Donnerstag, 14. Juli 2011
  17. 17. Legende 1 Ich bin ein CommitDonnerstag, 14. Juli 2011
  18. 18. Legende 1 2 Ich bin ein Commit Ich baue auf Commit 1 aufDonnerstag, 14. Juli 2011
  19. 19. Legende Branch A B 1 2Donnerstag, 14. Juli 2011
  20. 20. Revisions vs. Hash Revisions 4711 HashDonnerstag, 14. Juli 2011
  21. 21. Revisions vs. Hash 4712 Revisions 4711 HashDonnerstag, 14. Juli 2011
  22. 22. Revisions vs. Hash 4712 4713 Revisions 4711 HashDonnerstag, 14. Juli 2011
  23. 23. Revisions vs. Hash 4712 4713 Revisions 4711 4714 HashDonnerstag, 14. Juli 2011
  24. 24. Revisions vs. Hash 4712 4713 Revisions 4711 4714 Hash 54ed65f2 01b42f79 d83043e7 ac00fee1 cb1975c9Donnerstag, 14. Juli 2011
  25. 25. Revisions vs. Hash 4712 4713 Revisions 4711 4714 f81c259 Hash 54ed65f2 01b42f79 d83043e7 ac00fee1 cb1975c9Donnerstag, 14. Juli 2011
  26. 26. Revisions vs. Hash 4712 4713 Revisions 4711 4714 f81c259 dd146ac Hash 54ed65f2 01b42f79 d83043e7 ac00fee1 cb1975c9Donnerstag, 14. Juli 2011
  27. 27. Revisions vs. Hash 4712 4713 Revisions 4711 4714 f81c259 dd146ac Hash 54ed65f2 01b42f79 d83043e7 e0a5b1a ac00fee1 cb1975c9Donnerstag, 14. Juli 2011
  28. 28. Zentrales System (bspw. SVN) Branch 1 Trunk Server Branch 2 Working Copy ClientDonnerstag, 14. Juli 2011
  29. 29. Dezentrales System Branch 1 Trunk Server Branch 1 Trunk Client Branch 2 Working CopyDonnerstag, 14. Juli 2011
  30. 30. Dezentrales System Branch 1 Trunk Server ClientsDonnerstag, 14. Juli 2011
  31. 31. Dezentrales System Branch 1 Trunk Server ClientsDonnerstag, 14. Juli 2011
  32. 32. Dezentrales System Branch 1 Trunk Server ClientsDonnerstag, 14. Juli 2011
  33. 33. Dezentrales System Branch 1 Trunk Server ClientsDonnerstag, 14. Juli 2011
  34. 34. Dezentrales System ClientsDonnerstag, 14. Juli 2011
  35. 35. Die vier Ebenen von GitDonnerstag, 14. Juli 2011
  36. 36. Die vier Ebenen von Git Working DirectoryDonnerstag, 14. Juli 2011
  37. 37. Die vier Ebenen von Git Staging Working DirectoryDonnerstag, 14. Juli 2011
  38. 38. Die vier Ebenen von Git Repository Staging Working DirectoryDonnerstag, 14. Juli 2011
  39. 39. Die vier Ebenen von Git Remote Repository Repository Staging Working DirectoryDonnerstag, 14. Juli 2011
  40. 40. Das "Pointer-Prinzip" A B 1 2Donnerstag, 14. Juli 2011
  41. 41. Das "Pointer-Prinzip" A B Master 1 2Donnerstag, 14. Juli 2011
  42. 42. Das "Pointer-Prinzip" Branch A B Master 1 2Donnerstag, 14. Juli 2011
  43. 43. Das "Pointer-Prinzip" Branch A B Master 1 2 HeadDonnerstag, 14. Juli 2011
  44. 44. Das "Pointer-Prinzip" Branch A B Master 1 2 Head remote/masterDonnerstag, 14. Juli 2011
  45. 45. Typischer Workflow Repository erstellen $ mkdir gitrepo $ cd gitrepo $ git initDonnerstag, 14. Juli 2011
  46. 46. Typischer Workflow Arbeiten... $ vi index.php [tipp...tipp...tipp...] 1Donnerstag, 14. Juli 2011
  47. 47. Typischer Workflow Zu Commit hinzufügen ("stagen") $ git add index.php 1Donnerstag, 14. Juli 2011
  48. 48. Typischer Workflow Commiten $ git commit -m "Testcommit" 1Donnerstag, 14. Juli 2011
  49. 49. Typischer Workflow Ändern und direkt commiten $ vi index.php 1 2Donnerstag, 14. Juli 2011
  50. 50. Typischer Workflow Ändern und direkt commiten $ vi index.php $ git commit -a -m "Nochmal" 1 2Donnerstag, 14. Juli 2011
  51. 51. Schnelles Branchen und Mergen Branch erstellen $ git checkout -b neuerbranch ch * b ran ne uer Head 1 2 MasterDonnerstag, 14. Juli 2011
  52. 52. Schnelles Branchen und Mergen Im Branch arbeiten $ vi index.php Head r te h* as nc ra rb M ue ne 1 2 ADonnerstag, 14. Juli 2011
  53. 53. Schnelles Branchen und Mergen Im Branch arbeiten $ vi index.php $ commit -am "Neues Feature" neuerbranch* Head r te as M 1 2 ADonnerstag, 14. Juli 2011
  54. 54. Schnelles Branchen und Mergen Branch wechseln Master* Head $ git checkout master $ vi index.php $ commit -am "Neues Feature" 3 1 2 A neuerbranchDonnerstag, 14. Juli 2011
  55. 55. Schnelles Branchen und Mergen Master* Mergen (True Merge) Head $ git merge neuerbranch 3 4 1 2 A neuerbranchDonnerstag, 14. Juli 2011
  56. 56. Schnelles Branchen und Mergen Rebase $ git checkout neuerbranch 3 Master Head 1 2 A neuerbranch*Donnerstag, 14. Juli 2011
  57. 57. Schnelles Branchen und Mergen Rebase $ git rebase master r te as M Head neuerbranch* 3 1 2 A‘Donnerstag, 14. Juli 2011
  58. 58. Schnelles Branchen und Mergen Fast-Forward Merge $ git checkout master $ git merge neuerbranch Head neuerbranch 3 1 2 Master* A‘Donnerstag, 14. Juli 2011
  59. 59. Coole Tools BisectDonnerstag, 14. Juli 2011
  60. 60. Coole Tools Bisect OK ? X Good Bad $ git bisect start $ git bisect good 1 $ git bisect bad HEADDonnerstag, 14. Juli 2011
  61. 61. Coole Tools Bisect OK OK OK OK ? X Good Good Bad $ git bisect goodDonnerstag, 14. Juli 2011
  62. 62. Coole Tools Bisect OK OK OK OK ? X X Good Good Bad Bad $ git bisect badDonnerstag, 14. Juli 2011
  63. 63. Coole Tools Bisect OK OK OK OK OK ! X Good Good Good Bad Bad $ git bisect goodDonnerstag, 14. Juli 2011
  64. 64. Coole Tools Bisect Live DemoDonnerstag, 14. Juli 2011
  65. 65. Coole Tools Interactive Rebasing 1 2 3 4 5 6 7Donnerstag, 14. Juli 2011
  66. 66. Coole Tools Interactive Rebasing Edit 6 1 2 3 4 5 6 7Donnerstag, 14. Juli 2011
  67. 67. Coole Tools Interactive Rebasing Squash 2&3 1 2+3 4 5 6 7Donnerstag, 14. Juli 2011
  68. 68. Coole Tools Interactive Rebasing Löschen 4 1 2+3 5" 6" 7Donnerstag, 14. Juli 2011
  69. 69. Coole Tools Interactive Rebasing Live DemoDonnerstag, 14. Juli 2011
  70. 70. Coole Tools Weitere Coole ToolsDonnerstag, 14. Juli 2011
  71. 71. Coole Tools Weitere Coole Tools •Commits korrigieren ($ git commit --amend)Donnerstag, 14. Juli 2011
  72. 72. Coole Tools Weitere Coole Tools •Commits korrigieren ($ git commit --amend) •Änderungen zwischenspeichern ($ git stash *)Donnerstag, 14. Juli 2011
  73. 73. Coole Tools Weitere Coole Tools •Commits korrigieren ($ git commit --amend) •Änderungen zwischenspeichern ($ git stash *) •Cherry-Picking ($ git cherry-pick)Donnerstag, 14. Juli 2011
  74. 74. Coole Tools Weitere Coole Tools •Commits korrigieren ($ git commit --amend) •Änderungen zwischenspeichern ($ git stash *) •Cherry-Picking ($ git cherry-pick) •git-svn-bridge ($ git svn *)Donnerstag, 14. Juli 2011
  75. 75. Coole Tools Weitere Coole Tools •Commits korrigieren ($ git commit --amend) •Änderungen zwischenspeichern ($ git stash *) •Cherry-Picking ($ git cherry-pick) •git-svn-bridge ($ git svn *) •Git Gui ($ git gui *)Donnerstag, 14. Juli 2011
  76. 76. Coole Tools Weitere Coole Tools •Commits korrigieren ($ git commit --amend) •Änderungen zwischenspeichern ($ git stash *) •Cherry-Picking ($ git cherry-pick) •git-svn-bridge ($ git svn *) •Git Gui ($ git gui *) •Gitk ($ gitk)Donnerstag, 14. Juli 2011
  77. 77. Lesezeichen - Links und so •Git-Homepage: http://git-scm.com/ •Pro Git Book + Free Ebook: http://progit.org/ •github: https://github.com/ •Git-Wikipedia-Artikel: http://de.wikipedia.org/wiki/GitDonnerstag, 14. Juli 2011
  78. 78. Vielen Dank! • Feedback? Fragen? • Email: r.bruns@traviangames.com • Twitter: @renebrunsDonnerstag, 14. Juli 2011

×