Verwendung des Git-Versionskontrollsystems unter Linux [Comprehensive Guide]

Versionskontrolle (Revisionskontrolle oder Quellcodeverwaltung) ist eine Möglichkeit, Änderungen an einer Datei oder einer Sammlung von Dateien im Laufe der Zeit aufzuzeichnen, damit Sie bestimmte Versionen später abrufen können. Ein Versionskontrollsystem (oder VCS Kurz gesagt) ist ein Tool, das Änderungen an Dateien in einem Dateisystem aufzeichnet.

Es gibt viele Versionskontrollsysteme, aber Git ist derzeit die beliebteste und am häufigsten verwendete Methode, insbesondere für die Quellcodeverwaltung. Die Versionskontrolle kann tatsächlich für nahezu jeden Dateityp auf einem Computer verwendet werden, nicht nur für den Quellcode.

Versionskontrollsysteme / -tools bieten verschiedene Funktionen, mit denen Einzelpersonen oder eine Gruppe von Personen:

  • Versionen eines Projekts erstellen.
  • Verfolgen Sie Änderungen genau und lösen Sie Konflikte.
  • Änderungen in einer gemeinsamen Version zusammenführen.
  • Rollback und Rückgängigmachen von Änderungen an ausgewählten Dateien oder einem gesamten Projekt.
  • Greifen Sie auf historische Versionen eines Projekts zu, um Änderungen im Zeitverlauf zu vergleichen.
  • Sehen Sie, wer zuletzt etwas geändert hat, das möglicherweise ein Problem verursacht.
  • Erstellen Sie eine sichere Offsite-Sicherung eines Projekts.
  • Verwenden Sie mehrere Maschinen, um an einem einzelnen Projekt zu arbeiten und vieles mehr.

Ein Projekt unter einem Versionskontrollsystem wie Git wird hauptsächlich drei Abschnitte haben, nämlich:

  • ein Repository: Eine Datenbank zum Aufzeichnen des Status oder von Änderungen an Ihren Projektdateien. Es enthält alle erforderlichen Git-Metadaten und -Objekte für das neue Projekt. Beachten Sie, dass dies normalerweise kopiert wird, wenn Sie ein Repository von einem anderen Computer in einem Netzwerk oder einem Remote-Server klonen.
  • ein Arbeitsverzeichnis oder -bereich: speichert eine Kopie der Projektdateien, an denen Sie arbeiten können (Hinzufügen, Löschen und andere Änderungsaktionen).
  • Ein Staging-Bereich: Eine Datei (unter Git als Index bezeichnet) im Git-Verzeichnis, in der Informationen zu Änderungen gespeichert sind, die Sie in das Repository übertragen (den Status einer Datei oder eines Satzes von Dateien speichern) möchten.

Es gibt zwei Haupttypen von VCSs, wobei der Hauptunterschied in der Anzahl der Repositorys besteht:

  • Zentralisierte Versionskontrollsysteme (CVCS): Hier erhält jedes Projektteammitglied sein eigenes lokales Arbeitsverzeichnis. Sie übernehmen jedoch Änderungen nur an einem einzigen zentralen Repository.
  • Verteilte Versionskontrollsysteme (DVCS): Darunter erhält jedes Projektteammitglied sein eigenes lokales Arbeitsverzeichnis und Git-Verzeichnis, in dem es Commits vornehmen kann. Nachdem eine Person vor Ort ein Commit durchgeführt hat, können andere Teammitglieder erst dann auf die Änderungen zugreifen, wenn sie sie in das zentrale Repository verschieben. Git ist ein Beispiel für ein DVCS.


Darüber hinaus a Git Repository kann sein nackt (Repository ohne Arbeitsverzeichnis) oder Nicht-Särge (eine mit einem Arbeitsverzeichnis). Geteilt (oder öffentliche oder zentrale) Repositorys sollten immer leer sein – alle Github-Repositorys sind leer.

Lernen Sie die Versionskontrolle mit Git

Git ist ein kostenloses und Open Source, schnelles, leistungsstarkes, verteiltes, benutzerfreundliches und beliebtes Versionskontrollsystem, das bei großen Projekten sehr effizient ist und über ein bemerkenswertes Verzweigungs- und Zusammenführungssystem verfügt. Es wurde entwickelt, um Daten eher wie eine Reihe von Schnappschüssen eines Mini-Dateisystems zu verarbeiten, das in einem Git-Verzeichnis gespeichert ist.

Der Workflow unter Git ist sehr einfach: Sie nehmen Änderungen an Dateien in Ihrem Arbeitsverzeichnis vor und fügen dann selektiv nur die Dateien hinzu, die sich geändert haben, und zwar im Staging-Bereich, um Teil Ihres nächsten Commits zu sein.

Sobald Sie fertig sind, führen Sie ein Commit durch, bei dem die Dateien aus dem Staging-Bereich entnommen und dieser Snapshot dauerhaft im Git-Verzeichnis gespeichert werden.

Installieren Git Verwenden Sie unter Linux den entsprechenden Befehl für die Distribution Ihrer Wahl:

$ sudo apt install git   [On Debian/Ubuntu]
$ sudo yum install git   [On CentOS/RHEL]

Nach der Installation von Git wird empfohlen, dies mitzuteilen Git Wer Sie sind, geben Sie Ihren vollständigen Namen und Ihre E-Mail-Adresse wie folgt an:

$ git config --global user.name “Aaron Kili”
$ git config --global user.email “[email protected]”

Verwenden Sie den folgenden Befehl, um Ihre Git-Einstellungen zu überprüfen.

$ git config --list 
Git-Einstellungen anzeigen
Git-Einstellungen anzeigen

Erstellt ein neues Git-Repository

Geteilt Repositorys oder zentralisierte Workflows sind sehr verbreitet, und das werden wir hier demonstrieren. Wir gehen beispielsweise davon aus, dass Sie beauftragt wurden, ein zentrales Remote-Repository für Systemadministratoren / Programmierer aus verschiedenen Abteilungen Ihrer Organisation einzurichten, um an einem Projekt namens zu arbeiten Bashscripts, die unter gespeichert werden / projects / scritpts / auf dem Server.

SSH Erstellen Sie auf dem Remote-Server eine Gruppe mit dem Namen und erstellen Sie das erforderliche Verzeichnis Sysadmins (Fügen Sie alle Mitglieder des Projektteams zu dieser Gruppe hinzu, z. B. Benutzeradministrator), und legen Sie die entsprechenden Berechtigungen für dieses Verzeichnis fest.

# mkdir-p /projects/scripts/
# groupadd sysadmins
# usermod -aG sysadmins admin
# chown :sysadmins -R /projects/scripts/
# chmod 770 -R /projects/scripts/

Initialisieren Sie dann ein nacktes Projekt-Repository.

# git init --bare /projects/scripts/bashscripts
Git Shared Repository initialisieren
Git Shared Repository initialisieren

Zu diesem Zeitpunkt haben Sie ein Bare erfolgreich initialisiert Git Verzeichnis, das der zentrale Speicher für das Projekt ist. Versuchen Sie, eine Liste des Verzeichnisses zu erstellen, um alle darin enthaltenen Dateien und Verzeichnisse anzuzeigen:

# ls -la /projects/scripts/bashscripts/
Liste Git Shared Repository
Liste Git Shared Repository

Klonen Sie ein Git-Repository

Klonen Sie nun das freigegebene Remote-Git-Repository über auf Ihren lokalen Computer SSH (Sie können auch über klonen HTTP / HTTPS Wenn Sie einen Webserver installiert und entsprechend konfiguriert haben, wie dies bei den meisten öffentlichen Repositorys auf Github der Fall ist, zum Beispiel:

$ git clone ssh://[email protected]_server_ip:/projects/scripts/bashscripts 

So klonen Sie es in ein bestimmtes Verzeichnis (~ / bin / bashscripts), verwenden Sie den folgenden Befehl.

$ git clone ssh://[email protected]_server_ip:/projects/scripts/bashscripts ~/bin/bashscripts
Klonen Sie das freigegebene Git-Repository auf
Klonen Sie das freigegebene Git-Repository auf “Lokal”

Sie haben jetzt eine lokale Instanz des Projekts in a Nicht-Särge Repository (mit einem Arbeitsverzeichnis) können Sie die anfängliche Struktur des Projekts erstellen (dh a hinzufügen README.md Datei, Unterverzeichnisse für verschiedene Kategorien von Skripten, z. B. Aufklärung zum Speichern von Aufklärungsskripten, Sysadmin Ro Speichern von Sysadmin-Skripten usw.):

$ cd ~/bin/bashscripts/
$ ls -la
Git-Projektstruktur erstellen
Git-Projektstruktur erstellen

Überprüfen Sie eine Git-Statusübersicht

Verwenden Sie die Taste, um den Status Ihres Arbeitsverzeichnisses anzuzeigen Statusbefehl welches Ihnen alle Änderungen zeigt, die Sie vorgenommen haben; Welche Dateien werden von Git nicht verfolgt? diese Änderungen, die inszeniert wurden und so weiter.

$ git status 
Überprüfen Sie den Git-Status
Überprüfen Sie den Git-Status

Git Stage Änderungen und Commit

Führen Sie als Nächstes alle Änderungen mit dem aus Befehl hinzufügen mit dem -A Wechseln Sie und führen Sie das erste Commit durch. Das -a flag weist den Befehl an, geänderte Dateien automatisch bereitzustellen, und -m wird verwendet, um eine Festschreibungsnachricht anzugeben:

$ git add -A
$ git commit -a -m "Initial Commit"
Git Commit ausführen
Git Commit ausführen

Veröffentlichen Sie lokale Commits im Remote Git Repository

Nachdem Sie die Projektstruktur erstellt haben, können Sie als Projektteamleiter die Änderungen mithilfe von im zentralen Repository veröffentlichen Befehl drücken wie gezeigt.

$ git push origin master
Push Commit to Centrol Git Repository
Push Commit to Centrol Git Repository

Derzeit sollte Ihr lokales Git-Repository mit dem zentralen Projekt-Repository (Ursprung) auf dem neuesten Stand sein. Sie können dies bestätigen, indem Sie das ausführen Statusbefehl einmal mehr.

$ git status
Überprüfen Sie den Git-Status
Überprüfen Sie den Git-Status

Sie können Ihre Kollegen auch darüber informieren, dass sie mit der Arbeit an dem Projekt beginnen sollen, indem Sie das Repository auf ihre lokalen Computer klonen.

Erstellen Sie einen neuen Git-Zweig

Mit der Verzweigung können Sie an einer Funktion Ihres Projekts arbeiten oder Probleme schnell beheben, ohne die Codebasis (Hauptverzweigung) zu berühren. Verwenden Sie die Taste, um einen neuen Zweig zu erstellen und dann zu diesem zu wechseln Ast und Auschecken Befehle jeweils.

$ git branch latest
$ git checkout latest

Alternativ können Sie einen neuen Zweig erstellen und in einem Schritt mit dem zu diesem Zweig wechseln Checkout-Befehl mit dem -b Flagge.

$ git checkout -b latest

Sie können beispielsweise auch einen neuen Zweig basierend auf einem anderen Zweig erstellen.

$ git checkout -b latest master

Verwenden Sie, um zu überprüfen, in welchem ​​Zweig Sie sich befinden Verzweigungsbefehl (Ein Sternchen kennzeichnet den aktiven Zweig):

$ git branch
Aktivieren Sie Active Branch
Aktivieren Sie Active Branch

Nehmen Sie nach dem Erstellen und Wechseln zum neuen Zweig einige Änderungen vor und führen Sie einige Commits durch.

$ vim sysadmin/topprocs.sh
$ git status
$ git commit add  sysadmin/topprocs.sh
$ git commit -a -m 'modified topprocs.sh'

Änderungen von einem Zweig zum anderen zusammenführen

Um die Änderungen unter dem Verzweigungstest in den Hauptzweig zusammenzuführen, wechseln Sie zum Hauptzweig und führen Sie die Zusammenführung durch.

$ git checkout master 
$ git merge test 
Testzweig in Master zusammenführen
Testzweig in Master zusammenführen

Wenn Sie einen bestimmten Zweig nicht mehr benötigen, können Sie ihn mit dem löschen -d Schalter.

$ git branch -d test

Laden Sie Änderungen aus dem Remote Central Repository herunter

Angenommen, Ihre Teammitglieder haben Änderungen in das zentrale Projekt-Repository übertragen, können Sie alle Änderungen über das Programm in Ihre lokale Instanz des Projekts herunterladen Befehl ziehen.

$ git pull origin
OR
$ git pull origin master    #if you have switched to another branch
Änderungen aus dem zentralen Repository abrufen
Änderungen aus dem zentralen Repository abrufen

Überprüfen Sie das Git-Repository und führen Sie Vergleiche durch

In diesem letzten Abschnitt werden einige nützliche Git-Funktionen behandelt, die alle Aktivitäten in Ihrem Repository verfolgen und es Ihnen ermöglichen, den Projektverlauf anzuzeigen.

Die erste Funktion ist das Git-Protokoll, in dem Festschreibungsprotokolle angezeigt werden:

$ git log
Git Commit-Protokolle anzeigen
Git Commit-Protokolle anzeigen

Ein weiteres wichtiges Merkmal ist das Befehl show Hier werden verschiedene Arten von Objekten angezeigt (z. B. Commits, Tags, Bäume usw.):

$ git show
Git Objekte anzeigen
Git Objekte anzeigen

Die dritte wichtige Funktion, die Sie kennen müssen, ist der Befehl diff, mit dem Sie Unterschiede zwischen Zweigen vergleichen oder anzeigen, Änderungen zwischen dem Arbeitsverzeichnis und dem Index anzeigen, Änderungen zwischen zwei Dateien auf der Festplatte und vieles mehr.

Um beispielsweise den Unterschied zwischen dem Master und dem letzten Zweig anzuzeigen, können Sie den folgenden Befehl ausführen.

$ git diff master latest
Unterschied zwischen Zweigen anzeigen
Unterschied zwischen Zweigen anzeigen

Lesen Sie auch: 10 beste Git-Alternativen zum Hosten von Open Source-Projekten

Zusammenfassung

Git Ermöglicht einem Team von Personen, mit denselben Dateien zusammenzuarbeiten und gleichzeitig Änderungen an den Dateien im Laufe der Zeit aufzuzeichnen, damit sie später bestimmte Versionen abrufen können.

Auf diese Weise können Sie Git zum Verwalten von Quellcode, Konfigurationsdateien oder jeder auf einem Computer gespeicherten Datei verwenden. Vielleicht möchten Sie sich auf die beziehen Git Online-Dokumentation zur weiteren Dokumentation.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *