Einstieg in Git als Versionskontrollsystem
11.02.2009
Zusammenfassung
Mittlerweile habe ich das Versionskontrollsystem Git seit fast eineinhalb Jahren im Einsatz und bin jeden Tag wieder begeistert. Sogar bei meinem Arbeitgeber scheint eine Umstellung von Subversion auf Git in greifbarer Nähe.
Ähnliche Notizen
Zuhause befinden sich fast nur noch Git-Repositorys auf meiner Festplatte, und ich kann mir eine Arbeit ohne Git nicht mehr vorstellen. Im letzten Jahr hat Git sich stark verbessert und es sind viel Zusatzsoftware, Dokumentationen und Filme für Git erschienen.
Den mittlerweile veralteten Artikel von 2007 ersetze ich durch eine große Liste hilfreicher Links zu Git:
Offizielle Website
Tutorials & Dokumentationen
- The Git Community Book – Das Community-Buch, online und als PDF herunterzuladen
Kurze Anleitungen
- tryGit – Git interaktiv im Browser lernen
- Git Immersion – Sehr schön gestaltete Guided Tour durch die Grundlagen von Git.
- git – the simple guide – kurz und knapp auf einer langen Seite
- Offizielles Git Tutorial
- Everyday Git – 20 Befehle, die für den Anfang nützlich sind
- SVN Crash Course – Ein Crash Course für Personen, die SVN bereits kennen
- Git for the lazy
- Effectively Using Git With Subversion – Eine gute Einführung, wie man Subversion (SVN) mit Git nutzt
- Git Ready – Kurze Git-Tipps für Beginner, Fortgeschrittene und Profis
- Sei (k)ein Blödmann und nimm Git: Einführung in Versionskontrolle mit Git – deutschsprachige Präsentation über Git
Anleitungen mit mehr Detail
- Git for Designers – Detailierter Anleitung für Einsteiger in Versionskontrolle
- Intro to Distributed Version Control (Illustrated) – Detaillierte, illustrierte Erklärung von distributiver Versionskontrolle
- Git for Computer Scientists – Eine schnelle Einführung in die technischen Details in Git
- Git User’s Manual – Das offizielle Benutzerhandbuch
- Git Magic – Ein alternatives Buch
- The GitHub Guides – Diverse Tipps und Anleitungen für GitHub
- Git Internals – PDF von Scott Chacon für $9.00
- An Illustrated Guide to Git on Windows – Schritt-für-Schritt-Anleitung für Windows-Nutzer
- vss2git – Eine Windows-GUI, die ein existierendes Microsoft Visual SourceSafe 6.0 (VSS) Repository zu einem neuen Git-Repository exportiert.
Referenzen
- Referenze-Handbuch – Ausführliche Referenz aller Befehle
- Git Cheat Sheet – Ein nützliches Cheat Sheet
- Cheat Git – Ein weiteres, nützliches Cheat Sheet
Videos & Screencasts
- Offizielle Git-Screencasts
- Google Tech Talk: Linus Torvalds on git – Linus Torvalds präsentiert Git bei Google
- Google Tech Talk: Git – Randal Schwartz stellt Git eine Stunde lang vor
- Git Screencast – 60 Minuten Screencast von Scott Chacon für $9.00 (sehr detailliert)
- Git the basics – Bart Trojanowski stellt Git vor (2 Teile)
Git-Hosting
- GitHub – Kostenlose, öffentliche Repositorys bis
100300 MB, oder kommerzielle größere Angebote - Gitorious – Kostenlose, öffentliche Repositorys
Software
Mac OSX
- OSX Installer für Git – Wem das selber kompilieren (
./configure; make; sudo make install) zu kompliziert ist ;) - OpenInGitGui – Ein Shortcut für den OSX Finder
- Git TextMate-Bundle – TextMate-Bundle
- ProjectPlus – TextMate Plug-In, das Git, Mercurial, Bazaar und SVN Statusflaggen unterstützt
- Gity – Git-GUI mit vielen Funktionen im Snow Leopard Style (jetzt unter OpenSource!)
- GitX – Schicke Git-GUI für Mac OSX
Windows
- msysgit – Eine Windows-Git-GUI
- Git Extensions – Eine schicke Windows-Git-GUI, mit 5 Screencasts zur Bedienung
- TortoiseGit – Git als Windows Explorer Shell-Erweiterung
- SmartGit – Kommerzielle Lösung für Windows, Mac OS X und Linux
Fazit
Es gibt jetzt keinen Grund mehr, nicht auf Git umzusteigen, und jedes lächerliche Argument gegen Git lässt sich lässig widerlegen. Zwar gibt es immer noch eine Menge Subversion-Repositorys, doch auch die kann man dank git-svn (was mit Git installiert wird) ohne Probleme klonen auschecken und wieder committen.
Subversion und Git (Mercurial, Bazaar, …) lassen dazu auch nicht wirklich vergleichen, da der Ansatz ein ganz anderer ist. Mit Git kann man genauso arbeiten (z. B. zentrales Repository), wie auch mit Subversion, zusätzlich hat man aber noch die Möglichkeit auch verteilt zu arbeiten und die vielen fantastischen Möglichkeiten von Git zu nutzen (lokale Branches, offline Arbeiten, kaum Serverlast, geringe Dateigröße, …).
Wenn in deiner Firma immer noch Subversion eingesetzt wird und es (trotz klarer, betriebswirtschaftlicher Vorteile von Git) nicht funktioniert Git einzuführen, dann nutze für eine Übergangszeit einfach git-svn (das braucht nicht mal jemand mitbekommen). Zwar stehen dann nicht alle Möglichkeiten von Git zur Verfügung, aber die Arbeit wird auch so erleichtert.
Der einzige Nachteil, der bislang noch eine breite Nutzung einschränkte, war eine (ordentliche), fehlende grafische Oberfläche für Windows. Windows-Nutzer brauchen scheinbar Klicky-Bunty um glücklich zu sein. Mittlerweile kann man aber unter Windows auf die Cygwin-Umgebung, msysgit oder sogar TortoiseGit zurückgreifen.
