Ich versuche (nahezu religiös ;)), jedem Git schmackhaft zu machen, der in meinen Augen von dezentraler Versionsverwaltung profitiert. Auch denen, die ganz weit entfernt davon sind, Software zu entwickeln, wie zum Beispiel der guten Freundin, die gerade eine Facharbeit o.ä. vorbereitet.
Dabei höre ich immer wieder, dass Git zu kompliziert sei. Gerade Entwickler,
die lange mit SVN gearbietet haben, geraten schnell ins stöhnen, wenn es
plötzlich mehr zu beachten gilt, als svn update
und svn commit
.
Ich denke, Git gehört ins Standard-Repertoire eines Entwicklers. Die Lernkurve ist (gemessen an SVN) zwar recht hoch, doch sie zu meistern zahlt sich sehr schnell aus. Wer Git lernen will, dem bieten sich viele gute Ressourcen. Also habe ich eine Liste der Quellen zusammengetragen, die mir in der Vergangenheit weitergeholfen haben, die ich immer mal wieder zu Rate ziehe und die ich immer wieder empfehle:
Links
Einsteiger
- Conversational Git (online book)
- Try Git (von GitHub, interaktiv)
- Atlassian Git Tutorial
- Git Cheat Sheet
- git - Der einfache Einstieg
- Git Beginners Guide
- Git Tutorial
- 25 tips for intermediate git users
Fortgeschrittene
Bücher
GUI vs CLI
Weil viele die Kommandozeile scheuen, wird recht häufig die Frage nach GUI-Tools laut. Davon gibt es eine ganze Menge, von denen mich aber kaum welche überzeugen. Ich persönlich nutze TortoiseGit und Atlassian SourceTree. Vorwiegend, wenn ich in den Logs unterwegs bin. Trotzdem arbeite ich meistens in der Konsole. Das ist vom konkreten Anwendungsfall abhängig; also was ich gerade mache und welche Vorgehensweise sich dabei am natürlichsten anfühlt.
Wer Git wirklich beherrschen möchte, sollte sich definitiv in der Kommandozeile versuchen. So lassen sich die Konzepte meiner Meinung nach am besten/schnellsten verinnerlichen. Wenn man beispielsweise mit TortoiseGit arbeitet, weil man vorher schon TortoiseSVN benutzt hat, ist es meiner Erfahrung nach schwerer, sich von der SVN-Denke zu lösen.
Dazu möchte ich anmerken, dass GUI-Clients auf keinen Fall in der Sprache
umgestellt werden sollten: Git-Befehle sind Englisch und Domänenvokabular.
Wenn es plötzlich Probleme mit Holen
/Anfordern
gibt, wird es ungleich
schwerer, bei seinen Kollegen oder im Internet Hilfe zu finden, als wenn man
nach fetch
fragt/sucht.
Fazit
Git zu lernen ist nicht schwer, braucht aber manchmal etwas Überwindung oder den richtigen Anstoß. Wer sich überwunden hat, dem stehen viele gute Ressourcen zur Verfügung.
Wem die Kommandozeile in der Handhabung nicht zusagt (also Nicht-ITler ;)), der kann frei aus einer Menge GUI-Clients wählen oder bekommt evtl. sogar gratis Unterstützung seiner IDE.
Wer Git nicht einsetzen kann, weil auf dem Server/in seinem Unternehmen SVN
läuft, der sollte sich git svn
anschauen. Die SVN-Unterstützung bringt Git
von Haus aus mit. So kann man lokal alle Features von Git nutzen, aber
weiterhin (mit git svn dcommit
und git svn update
), bestehende
SVN-Repositories synchronisieren.
Ausreden gibt’s also keine ;)!