1. Einführung in Git
René Bruns
GameCamp Munich
Donnerstag, 14. Juli 2011
2. Über mich
• René Bruns
• Entwickler seit 2001
• Seit 2009 bei Travian Games
• Seit 2011 Technical Director
Games Development
Donnerstag, 14. Juli 2011
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,
Battlemons
Donnerstag, 14. Juli 2011
4. Agenda
Historisches
Git Grundlagen
Coole Tools
Mehr Infos
Donnerstag, 14. Juli 2011
5. Umfrage
Wer hat schon mit einem
Sourcecodeverwaltungssystem gearbeitet?
Donnerstag, 14. Juli 2011
15. Umfrage
Perforce?
Subversion?
Bazaar?
Copy und Paste in Datumsordner
CVS?
Git?
Mercurial?
Visual SourceSafe?
Donnerstag, 14. Juli 2011
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. Legende
1
Ich bin ein Commit
Donnerstag, 14. Juli 2011
18. Legende
1 2
Ich bin ein Commit Ich baue auf Commit 1 auf
Donnerstag, 14. Juli 2011
19. Legende
Branch
A B
1 2
Donnerstag, 14. Juli 2011
49. Typischer Workflow
Ändern und direkt commiten
$ vi index.php
1 2
Donnerstag, 14. Juli 2011
50. Typischer Workflow
Ändern und direkt commiten
$ vi index.php
$ git commit -a -m "Nochmal"
1 2
Donnerstag, 14. Juli 2011
51. Schnelles Branchen und Mergen
Branch erstellen
$ git checkout -b neuerbranch
ch *
b ran
ne uer
Head
1 2
Master
Donnerstag, 14. Juli 2011
52. Schnelles Branchen und Mergen
Im Branch arbeiten
$ vi index.php
Head
r
te
h*
as
nc
ra
rb
M
ue
ne
1 2 A
Donnerstag, 14. Juli 2011
53. Schnelles Branchen und Mergen
Im Branch arbeiten
$ vi index.php
$ commit -am "Neues Feature"
neuerbranch*
Head
r
te
as
M
1 2 A
Donnerstag, 14. Juli 2011
54. Schnelles Branchen und Mergen
Branch wechseln
Master*
Head
$ git checkout master
$ vi index.php
$ commit -am "Neues Feature"
3
1 2 A
neuerbranch
Donnerstag, 14. Juli 2011
55. Schnelles Branchen und Mergen
Master*
Mergen (True Merge)
Head
$ git merge neuerbranch
3 4
1 2 A
neuerbranch
Donnerstag, 14. Juli 2011
56. Schnelles Branchen und Mergen
Rebase
$ git checkout neuerbranch
3 Master
Head
1 2 A neuerbranch*
Donnerstag, 14. Juli 2011
57. Schnelles Branchen und Mergen
Rebase
$ git rebase master
r
te
as
M
Head
neuerbranch*
3
1 2 A‘
Donnerstag, 14. Juli 2011
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