Git kurz & gut - Sven Riedel - ebook

Git kurz & gut ebook

Sven Riedel

0,0

Opis

Git ist ein verteiltes Versionsverwaltungssystem, das von dem Linux-Entwickler Linus Torvalds entwickelt wurde. Git kurz&gut führt in die Arbeit mit Git ein, erläutert die Installation und Konfiguration und zeigt an praxisnahen Beispielen die Arbeit mit dem Versionsverwaltungssystem auf. Die Arbeit mit den Git GUI Tools wird in einem weiteren Kapitel aufgezeigt. Ein Kapitel über den Hosting-Dienst Github runden die praktische Befehlsreferenz ab.

Ebooka przeczytasz w aplikacjach Legimi na:

Androidzie
iOS
czytnikach certyfikowanych
przez Legimi
czytnikach Kindle™
(dla wybranych pakietów)
Windows
10
Windows
Phone

Liczba stron: 179

Odsłuch ebooka (TTS) dostepny w abonamencie „ebooki+audiobooki bez limitu” w aplikacjach Legimi na:

Androidzie
iOS



Git: Kurz & gut

SvenRiedel

Kapitel 1. Einleitung

Dieses Buch entstand, nachdem der Autor sich nach jahrelanger Verwendung von Subversion mit dem distributierten Versionierungssystem Git angefreundet hatte. Es soll keine erschöpfende Git-Referenz darstellen (was im Taschenbuchformat auch gar nicht möglich wäre). Vielmehr wird das Material im Referenzkapitel nach Aufgabenbereichen organisiert und dann beschrieben, wie bestimmte, mehr oder weniger alltägliche Aufgaben mit Git bewältigt werden können.

Was behandelt dieses Buch?

In diesem Buch wird Git tendenziell aus der Perspektive desjenigen betrachtet, der vornehmlich Subversion als Versionierungssystem verwendet oder verwendet hat. Insbesondere Kapitel 9, ist an Migrationswillige gerichtet, die sich zunächst einmal kontrolliert mit Git anfreunden wollen, bevor der vollständige Wechsel vollzogen wird, und für diejenigen Anwender, denen ein Subversion-Server vorgegeben ist, die aber dennoch die Vorzüge von Git nicht missen möchten.

Das bedeutet aber nicht, dass das Buch nur für diese Zielgruppe interessant wäre. Der übrige Teil besteht in einer Referenz zu den Alltagsbefehlen und deren meistgenutzten Parametern. Die einzelnen Git-Befehle bringen aber in der Regel einen weitaus größeren Umfang an Optionen und Parametern mit, als in diesem Buch auch nur ansatzweise umrissen werden könnte. Außerdem sind viele Low-Level-Befehle verfügbar, auf die hier gar nicht eingegangen werden kann. Falls Ihnen eine bestimmte Möglichkeit fehlt, empfehle ich Ihnen, einen Blick in die Manpages der Git-Befehle zu werfen. In den meisten Fällen sollten Sie hier fündig werden.

Dennoch wird davon ausgegangen, dass Sie als Leser zumindest grundlegendes Wissen über die Unix-Umgebung und die Kommandozeile mitbringen und schon einmal mit einem Versionierungssystem gearbeitet haben.

Typographische Konventionen

Kursiv

Kennzeichnet Pfadnamen und Dateinamen (z. B. Programmnamen), Internet-Adressen (z. B. Domainnamen und URLs) sowie hervorgehobene oder neu definierte Begriffe.

Nichtproportionalschrift

Kennzeichnet Befehle und Optionen, die wörtlich eingegeben werden sollen.

Nichtproportionalschrift kursiv

Kennzeichnet Werte, die vom Benutzer in entsprechend angepasst eingegeben werden.

Nichtproportionalschrift fett

Wird verwendet, um Teile eines Programms oder einer Konfigurationsdatei hervorzuheben

Weitere Informationen und Hilfe

Um Git herum ist ein mächtiges Ökosystem mit sehr vielen Ressourcen im Netz vorhanden. Zentrale Anlaufstelle ist natürlich die Homepage von Git im WWW: http://www.git-scm.com. Hier finden Sie nicht nur die aktuellen Versionen zum Herunterladen, sondern auch ein Wiki sowie Links auf umfangreiche Dokumentationen für die verschiedensten Zielgruppen und auf verwandte Projekte.

Eine Liste von grafischen Frontends und Tools finden Sie unter http://git.or.cz/gitwiki/InterfacesFrontendsAndTools.

Freunde von Screencasts werden bei http://git-scm.com/videos glücklich.

Kapitel 2. Konzepte

In diesem Kapitel werden die Grundkonzepte von Git in seiner Eigenschaft als verteiltes Versionsverwaltungssystem erörtert. Diese Konzepte sollten Sie kennen, wenn Sie die Arbeitsweise von Git im Detail verstehen wollen und den Grund kennen möchten, warum gerade eine bestimmte Vorgehensweise gewählt wird.

Der Arbeitsbaum, der Index und Commits

Ein Projekt spannt einen mehr oder weniger umfangreichen Verzeichnisbaum auf Ihrer Festplatte auf. Im zugehörigen Repository wird ein mehr oder minder großer Teil dieses Verzeichnisbaums verwaltet. Temporäre Dateien, Logdateien und andere transiente Daten werden üblicherweise aus der Verwaltung durch Git ausgeschlossen, obwohl sie Teil des Verzeichnisbaums des Projekts sind. Der von Git verwaltete Teil des Projekt-Verzeichnisbaums wird als Arbeitsbaum bezeichnet.

Wenn Git Änderungen in das Repository einbringen soll, erstellt Git zunächst ein virtuelles Abbild des aktuellen Zustands des Arbeitsbaumes. Dieser Prozess wird staging genannt, und das virtuelle Abbild ist in der Git-Nomenklatur der Index. Dies ist in der Abbildung dargestellt.

Beim Speichern der Änderungen in das Repository erzeugt Git aus dem aktuellen Index-Inhalt einen Commit und versieht diesen mit einer Revisionsnummer. Für die Nummerierung von Revisionen werden SHA1-Hashes verwendet, die aus dem Inhalt des Commits errechnet werden und aus 40 hexadezimalen Ziffern bestehen. Da Git auch mit einem eindeutigen Präfix der Revisionsnummer arbeiten kann, wird üblicherweise nur mit den ersten 7 Ziffern gearbeitet.

Hier sieht man auch schon einen wesentlichen Unterschied von Git zu traditionellen Revisionsverwaltungssystemen wie CVS oder Subversion: Ein Commit bezieht sich auf den gesamten Arbeitsbaum und nicht auf einzelne Dateien. Git garantiert damit jederzeit einen konsistenten Zustand im Arbeitsbaum.

Sofern die Revisionsnummer bekannt ist, besteht unter Git zwar ebenfalls die Möglichkeit, einzelne Dateien auf den Zustand einer bestimmten Version zu setzen. Allerdings fließt dies als Änderung in den Zustand des aktuellen Arbeitsbaums ein. Dieser Arbeitsschritt ist unter Git eher unüblich und sollte nur mit Bedacht und in Einzelfällen durchgeführt werden.

Branches, Tags und Refs

Bei einem Branch handelt es sich um eine Kette von Commits, bei der jeder Commit auf seinen – oder seine – Eltern-Commit(s) verweist. Branches sind auch untereinander verknüpft; von jedem Commit kann ein neuer Branch abgezweigt werden, auch von solchen Commits, die inzwischen durch andere Commits verborgen werden. Ebenso können unterschiedliche Branches wieder zusammengeführt werden. Der Haupt-Branch heißt traditionell master, nimmt aber abgesehen von seinem Namen keinerlei Sonderstellung ein. Der jüngste Commit eines Branches wird HEAD genannt.

Das Zusammenführen von mehreren Branches wird als merge bezeichnet, und führt zur Erzeugung eines Merge-Commits im Repository. Ein Merge-Commit weist mehrere Eltern-Commits auf, die alle zueinander gleich gestellt sind. Beim Mergen agiert Git damit nach dem Prinzip »Merge die folgenden Commits, wobei der resultierende Commit Teil des aktuellen Branches werden soll« und nicht »Merge die folgenden Commits in den aktuellen Branch«. Der Unterschied ist subtil, wird aber deutlich, wenn ein Merge rückgängig gemacht werden soll (siehe „Merges rückgängig machen“ im Kapitel Kapitel 5.

Einzelne Commits können auch mit einem Namen versehen werden, damit auch künftig auf einfache Weise auf sie verwiesen werden kann. Dies wird als tagging bezeichnet und die Markierung entsprechend als tag.

Die Bezeichnung eines bestimmten Commits mittels seiner Revisionsnummer, des Tag-Namens, des Branch-Namens (was den HEAD-Commit impliziert) oder eine der anderen Möglichkeiten, die in Anhang aufgeführt sind, wird in der Git-Sprache als Ref bezeichnet.

Das Repository, Remote-Branches und Tracking-Branches

Das Git-Repository besteht im Wesentlichen aus einer Menge von Branches, die in einem Verhältnis zueinander stehen.

Als verteiltes Versionierungssystem bietet Git die Möglichkeit, Branches zwischen Ihrem Repository und anderen, entfernten Repositories zu lesen, zu schreiben und über das Netzwerk Branches miteinander zu synchronisieren. Ein Branch aus einem anderen Repository wird remote branch genannt.

Da Git als echtes dezentrales Versionierungssystem konzipiert wurde, ist die Topologie der Repositories untereinander nicht zwingend sternförmig aufgebaut; die Beziehungen der Repositories können einen beliebigen Graphen darstellen, wobei kein Repository auf technischer Ebene eine Sonderstellung im Hinblick auf andere Repositories einnimmt.

Aus diesem Grund muss Git den Zustand der entfernten Branches, mit denen Sie arbeiten wollen, lokal zwischenspeichern. Hierbei wird eine vollwertige, lokale Kopie des entfernten Branches angelegt, der die Grundlage für lokale Lese-, Schreib- und Synchronisierungsvorgänge darstellt. Dieser Cache des entfernten Branches wird als tracking branch bezeichnet.

Abbildung 2.1 Repository mit Branches

Kapitel 3. Installation

In diesem Kapitel wird beschrieben, wie Sie Git auf Ihrem Rechner installieren. Wie bei den meisten Open Source-Produkten können Sie entweder ein binäres Paket installieren, wie es vermutlich auch von der von Ihnen verwendeten Linux-Distribution mitgeliefert wird, oder sich den Quellcode besorgen und ihn manuell kompilieren. Binärpakete sind natürlich bequem und schnell, allerdings sind sie mit einem Eigenkompilat immer auf dem aktuellsten Stand.

Die zentrale Git-Website befindet sich aktuell unter http://git-scm.com. Hier finden Sie nicht nur den Quellcode und Binärpakete für die unterschiedlichen Betriebssysteme und Distributionen, sondern auch Dokumentationen, aktuelle Neuigkeiten und ein Wiki, das Ihnen bei Problemen vielerlei Art sehr helfen kann.

Binäre Installationspakete

Unter http://git-scm.com/download stehen binäre Installationspakete für OS X und Windows zur Verfügung.

Für Linux-Distributionen, FreeBSD, OpenBSD sowie Solaris finden sich hier die Installationsanleitungen, um das Git-Paket der jeweiligen Distribution zu installieren. Falls Ihr System hier nicht aufgeführt ist oder Sie mit der von Ihrer Distribution angebotenen Git-Version unzufrieden sind, können Sie auf die Kompilation und Installation aus dem Quelldateien ausweichen.

Linux

Der einfachste Weg besteht darin, das Git-Paket Ihrer verwendeten Linux Distribution zu installieren. Falls Sie unabhängig von Ihrer Distribution auf der Höhe der Zeit bleiben wollen, können Sie Git auch aus den Quell-Paketen heraus kompilieren und installieren.

OS X

Unter OS X stehen verschiedene Möglichkeiten zur Verfügung, Git zu installieren. Zum einen wird eine (meist etwas ältere) Git-Version mit Xcode ausgeliefert. Alternativ kann Git mittels Homebrew installiert und aktuell gehalten werden.

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!