git ready

Lerne Git Commit für Commit
von Nick Quaranto, Übersetzung von Nico Gulden

Was Git nicht ist

eingetragen am 19 Feb 2009

Es gibt offensichtliche viele Gründe, warum Git großartig ist (und warum es manchmal auch beschissen ist). Und es kommt der Zeitpunkt, wo es hilft einige Unruhen rund um Git auszuräumen. Die folgende Liste versucht aufzuzeigen, was Git nicht ist. Falls du deine eigenen Gründe hast, hinterlasse einen Kommentar und er möge hinzugefügt werden.

1. Git ist nicht Subversion mit etwas eingestreutem Zucker.

Git arbeitet sehr viel anders als SVN und CVS. Der wahrscheinlich größte Unterschied besteht darin, dass Git primär Inhalt speichert. Es arbeitet hauptsächlich mit Schnappschüssen (Snapshots) der verfügbaren Informationen. (Aus diesem Grund wird Git gewöhnlich als ‘dummer Information Tracker’ bezeichnet). Sein Algorithmus zum Speichern von Änderungen unterscheidet sich fundamental von Subversion. Git ist auf diese Weise sehr viel effizienter.

Des Weiteren, solltest du es gewohnt sein alle deine Projekte in einem großen Repository zu haben, Git arbeitet auch so nicht. Repositories sind für einzelne Projekte gemeint und dann kannst Submodule benutzen, die andere Repositories einbinden, falls nötig. Ein Tip, der diese Situation behandelt, wird auf jeden Fall bald kommen.

Die Unterschiede zwischen Git und SVN könnten in einer eigenen Serie von Tips behandelt werden, aber der Git-SVN Crash
Course
leistet großartige Arbeit für alle Jene, die den Umstieg durch die Betrachtung von Parallelen in Erwägung ziehen.

2. Git ist nicht aufwändig bei Netzwerk oder Platzverbrauch

Lokale Commits sind ein riesiger Vorteil bei der Verwendung von Git und es kann deinen Arbeitsablauf sehr viel angenehmer gestalten, weil Git für die meisten Aktionen nicht über das Netzwerk mit einem zentralen Server sprechen muss. Wenn du mehr darüber wissen möchtest, wie das funktioninert, lies den Beitrag zur Staging Area oder diesen zu Push und Pull Ein weitere großartiger Vorteil ist ein Ort, wo Git seine Dateien für dein Repository speichert (gewöhnlich das .git Verzeichnis) und es müllt dein Verzeichnis nicht mit tausenden von versteckten Verzeichnissen und Dateien zu, wie es SVN macht.

3. Git ist nicht nur für Linux Kernel Hacker oder jene, die die ganze Zeit in Flugzeugen zu Konferenzen fliegen.

Git kann so ziemlich auf jedem modernen Betriebssystem installiert werden und es funktioniert definitiv auf Windows. Es gibt zwar keine 100%-ige graphische Unterstützung auf Windows, aber es wird eine Menge Integrationsarbeit für den Explorer und zahlreiche verfügbare Entwicklungsumgebungen geleistet. Es gibt eine Reihe von verfügbaren und gekonnten Werkzeugen auf anderen Betriebssystemen, wie zum Beispiel GitX auf OSX.

4. Git ist nicht schwer aufzusetzen

Das Aufsetzen eines Git Repository ist so einfach wie das Ausführen von git init in irgend einem Verzeichnis. Das kann fast kaum einfacher gehen. Beim Verteilen deiner Änderungen für andere Entwickler werden die Dinge ein bißchen interessanter. Gewöhnlich ist das Verteilen von Änderungen nur ein oder zwei Befehle entfernt. Die korrekte Bereitstellung deiner Änderungen kann jedoch ein wenig trickreich sein: Gewöhnlich ist für das eigene Setup die Verwendung von gitosis zu empfehlen. Gitosis ist ein Werkzeug, das bei den SSH Benutzerschlüsseln für
den Commit-Zugriff hilft.

5. Git ist nicht schwer zu lernen.

Gits Manpages sind recht umfangreich (und ausufernd). Online sind noch weitere Anleitungen zum Lernen verfügbar. Einige der besten sind im Bereich Quellen in der Fußzeile dieser Seite gelistet! Den Git-Neulingen empfehle ich gewöhnlich das Git Community Book und das Ansehen der Gitcasts. (Das Lesen dieser Website zählt auch!)

6. Git ist nicht komplex.

Ja, es gibt eine Menge ungewohnter Terminologien und einige Konzepte sind nicht jedem Neuling sofort vertraut. Aber die darunterliegenden Konzepte, auf denen das System aufbaut, sind fundamental und absichtlich einfach gehalten. Ein großartiges Beispiel ist die blob-tree-commit Struktur. Sobald die Grundkonzepte hinter Git verstanden sind, ist es wirklich sehr einfach, das Werkzeug auf deine Weise arbeiten zu lassen, anstatt in einen bestimmten Ablauf gezwungen zu werden. Sicher, zu viel Flexibilität könnte schlecht sein, aber wenn Git so viel Macht und Einfachheit in der Benutzung anbietet, warum sollte es dann ungenutzt
bleiben?