Wenn Sie ein Linux-Benutzer sind, haben Sie wahrscheinlich irgendwann auf Git gestoßen, vielleicht beim Versuch, ein neues Programm herunterzuladen oder in Versionskontrollsysteme wie CVS oder Subversion zu schauen. Git ist das Revisionskontrollsystem, das von dem berühmten Linus Torvalds des Linux-Kernels aufgrund mangelnder Zufriedenheit mit bestehenden Lösungen entwickelt wurde. Der Schwerpunkt im Design lag auf Geschwindigkeit oder genauer gesagt Effizienz. Git adressiert viele der Unzulänglichkeiten früherer Systeme und macht dies alles in viel kürzerer Zeit.

Was Git tut

Nehmen wir an, Sie arbeiten an der Erstellung einer Website für einen Kunden. Sie geben an, was sie wollen, Sie entwerfen es, sie überprüfen es und machen Revisionen, spülen, wiederholen. Mit jeder Überarbeitung des Kunden ändert sich die Site und wächst. Später kann der Kunde sagen "Ich mag es besser, wie es im letzten September aussah". Unter normalen Umständen haben Sie ein Problem. Möglicherweise verfügen Sie nicht über alle Dateien und Daten aus dieser Zeit, und Ihr Code hat sich möglicherweise so stark verändert, dass ein Zurücksetzen schwierig oder unmöglich wäre.

Der Zweck eines Revisionskontrollsystems ist es, fast alle Probleme im obigen Absatz zu lösen. Sie können jede Änderung Ihres Codes und Ihrer Dateien verfolgen und jederzeit wieder dorthin zurückkehren, wo die Dinge waren.

Wie Git funktioniert

Das Verzeichnis jedes Projekts ist ein eigenes Git-Repository. Sie behalten alle Ihre Dateien für dieses Projekt in diesem Verzeichnis und weisen Git regelmäßig an, seine Informationen mit dem aktuellen Status der Dateien zu aktualisieren. Dieser Prozess, Git zu sagen, den Staat aufzuzeichnen, ist ein Commit . Bei jedem Commit (das sollte oft der Fall sein) betrachtet Git alle Dateien, die es zu verfolgen versucht, und speichert die Unterschiede in diesen Dateien (nicht alle neuen Dateien) im .git-Verzeichnis. Jedes Commit wird zu einem neuen Sicherungspunkt für die Entwicklung Ihres Projekts.

Optional können Sie Ihr lokales Git-Repository auf einen externen Host wie GitHub.com übertragen . Dies ermöglicht mehreren Projektmitarbeitern, häufige, schnelle Commits zu ihrem lokalen Repo durchzuführen und all diese lokalen Commits in einem einzigen Update für das Online-Repository zu bündeln. Dies ist einer der Gründe, warum Git schneller als einige andere VCS-Systeme verwendet werden kann: Sie können häufig in Ihr lokales Repository einsteigen, ohne Zeit und Bandbreite für jeden Server auf einen Server hochladen zu müssen.

Git bekommen

Die meisten Linux-Benutzer sollten Git (oder git-core ) in den Standard-Repositories ihrer Distro haben. Ubuntu-Benutzer können es installieren, indem sie hier oder im Terminal klicken:

 sudo apt-get installiere git-core 

Wenn Sie sich auf einer anderen Plattform befinden oder diese Repositories nicht anderweitig verwenden können, können Sie Pakete hier herunterladen und manuell installieren. Unsere Beispiele sind für Linux gedacht, sollten aber für alle von Git unterstützten Plattformen identisch sein.

Verwenden von Git

Der Prozess zum Erstellen eines lokalen Git-Repository ist schnell und einfach. Erstellen Sie ein Verzeichnis, das Sie für Ihr Projekt verwenden möchten, und öffnen Sie Ihr Terminal für diesen Standort. Geben Sie in der Befehlszeile den Befehl ein

 git init 

Dadurch wird das .git-Verzeichnis erstellt, in dem Ihre Repository-Informationen gespeichert werden. Wahrscheinlich möchten Sie beginnen, einige Dateien hinzuzufügen. Wir beginnen damit, eine README-Beispieldatei zu erstellen, sie zur Liste der zu überwachenden Dateien des Repositorys hinzuzufügen und dann unsere Datei an das Repository zu übergeben.

 #Einigen Text in ein neues Datei-Echo einfügen "TODO: Create documentation"> README.txt #Nun Git sagen, um die Änderungen dieser Datei im Auge zu behalten # Dies muss nur einmal pro Datei (mehr # auf einmal) erfolgen Fügen Sie README.txt # hinzu und speichern Sie den Status jetzt in Git Repository git commit README.txt 

Sie werden zu einem Texteditor-Bildschirm weitergeleitet (welcher Text-Editor von Ihrer Distribution und Konfiguration abhängt), wo Sie Notizen zu diesem Commit eingeben sollten. Dies sind normalerweise kurze Zusammenfassungen der Änderungen seit dem letzten Commit. Sobald Sie den Texteditor gespeichert und beendet haben, sollte das Commit erfolgreich abgeschlossen sein.

Wir haben im Wesentlichen einen Schnappschuss des aktuellen Zustands dieser Datei erstellt. Alle weiteren Änderungen (die du festlegst) werden zusätzlich gespeichert.

Das Hinzufügen und Übergeben jeder Datei einzeln wie im obigen Beispiel kann mühsam werden. Um das zu beheben, können Sie stattdessen alle Dateien im aktuellen Verzeichnis hinzufügen

 # Notieren Sie das abschließende "." Git hinzufügen. 

und Sie können alle bekannten, geänderten Dateien gleichzeitig mit übernehmen

 git commit -a 

Einige andere nützliche git Befehlsoptionen beinhalten:

 #Machen Sie einen vollständigen Klon des vorhandenen Repository, z. B. von der Website eines Softwareprojekts git clone (URL, z. B. git: //github.com/github/linux-2.6.git) # Verschieben / Umbenennen einer Datei. Dadurch müssen Sie die Datei nicht entfernen und neu hinzufügen, wenn sie von bash git mv (source) (Ziel) verschoben wurde. # Eine Datei löschen und aus Git repo git rm (Ziel) # entfernen. Verzweigen Sie in dieses Repository-Git branch #Erstelle einen neuen Zweig des Git Tree Git Branch (neuer Branch Name, zB "experimental") #Wechsel von einem Branch zum anderen git checkout (Branch Name, zB "experimental") #Merge Branch (Branch) in den aktuellen Baum git fusionieren (Zweig) 

Das ist natürlich nur der Anfang dessen, was Git tun kann. Wenn Sie es nützlich finden, empfehle ich das offizielle Git Community Book, um eine tiefere Vorstellung davon zu bekommen, wie man diese clevere Software benutzt.