So verwenden Sie das GIT -Versionskontrollsystem unter Linux [umfassende Anleitung]

So verwenden Sie das GIT -Versionskontrollsystem unter Linux [umfassende Anleitung]

Versionskontrolle (Revisionskontrolle oder Quellvertretung) ist eine Möglichkeit, Änderungen an einer Datei oder Sammlung von Dateien im Laufe der Zeit aufzuzeichnen, damit Sie sich später an bestimmte Versionen 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 aber Git ist derzeit die beliebteste und am häufigsten verwendete, insbesondere für die Quellcodeverwaltung. Die Versionskontrolle kann tatsächlich für nahezu jeder Dateiart auf einem Computer verwendet werden, nicht nur für den Quellcode.

Versionskontrollsysteme/Tools bieten mehrere Funktionen, mit denen Einzelpersonen oder eine Gruppe von Personen:

  • Erstellen Sie Versionen eines Projekts.
  • Verfolgen Sie Änderungen genau und lösen Sie Konflikte auf.
  • Verschmelzen Sie Änderungen in eine gemeinsame Version.
  • Rollback- und Rückgängigmachungsänderungen an ausgewählten Dateien oder einem gesamten Projekt.
  • Zugang zu historischen Versionen eines Projekts, um Änderungen im Laufe der Zeit zu vergleichen.
  • Sehen Sie, wer zuletzt etwas geändert hat, das möglicherweise ein Problem verursacht.
  • Erstellen Sie eine sichere Sicherung eines Projekts außerhalb des Standorts.
  • Verwenden Sie mehrere Maschinen, um an einem einzigen Projekt und vieles mehr zu arbeiten.

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

  • ein Repository: Eine Datenbank zum Aufzeichnen des Status oder der Änderungen an Ihren Projektdateien. Es enthält alle notwendigen Git -Metadaten und -objekte für das neue Projekt. Beachten Sie, dass dies normalerweise das ist, was kopiert wird, wenn Sie ein Repository von einem anderen Computer auf einem Netzwerk oder Remote -Server klonen.
  • ein Arbeitsverzeichnis oder ein Bereich: Speichert eine Kopie der Projektdateien, an denen Sie arbeiten können (Ergänzungen, Löschungen und andere Änderungsaktionen).
  • Ein Staging -Bereich: Eine Datei (als Index unter Git bezeichnet) innerhalb des Git -Verzeichnisses, in dem Informationen zu Änderungen gespeichert sind, die Sie bereit sind, den Status einer Datei oder die Dateien zu speichern) im Repository.

Es gibt zwei Haupttypen von VCSs, wobei der Hauptunterschied die Anzahl der Repositorys ist:

  • Zentralisierte Versionskontrollsysteme (CVCSS): Hier erhält jedes Projektteammitglied ein eigenes lokales Arbeitsverzeichnis, aber es verpflichten sich jedoch Änderungen an einem einzigen zentralen Repository.
  • Distributed Version Control Systems (DVCSS): Darunter erhält jedes Projektteam -Mitglied sein eigenes lokales Arbeitsverzeichnis und ein Git -Verzeichnis, in dem es Commits machen kann. Nachdem eine Person vor Ort ein Verpflichtung gemacht hat, können andere Teammitglieder nicht auf die Änderungen zugreifen, wenn sie sie in das zentrale Repository drängt. Git ist ein Beispiel für ein DVCs.

Außerdem a Git Repository kann sein nackt (Repository, das kein Arbeitsverzeichnis hat) oder Nichtstart (einer mit einem Arbeitsverzeichnis). Geteilt (oder öffentliche oder zentrale) Repositorys sollten immer bloß sein - alle Github -Repositories sind kahl.

Lernen Sie die Versionskontrolle mit Git

Git ist ein kostenloses und open Source, schnell, leistungsfähig, verteilt, einfach zu bedienen und beliebtes Versionskontrollsystem, das bei großen Projekten sehr effizient ist und ein bemerkenswertes Verzweigungs- und Zusammenführungssystem hat. Es ist so konzipiert, dass Daten eher wie eine Reihe von Schnappschüssen eines Mini -Dateisystems verarbeitet werden, das in einem Git -Verzeichnis gespeichert ist.

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

Sobald Sie bereit sind, machen Sie ein Commit, das die Dateien aus dem Staging -Bereich entnimmt und diesen Schnappschuss dauerhaft am Git -Verzeichnis speichert.

Installieren Git Verwenden Sie unter Linux den entsprechenden Befehl für Ihre Auswahlverteilung:

$ sudo apt installieren Git [on Debian/Ubuntu] $ sudo yum Installieren Sie Git [on CentOS/Rhel] 

Nach der Installation von Git wird empfohlen, dass Sie es erzählen Git Wer Sie sind, indem Sie Ihren vollständigen Namen und Ihre E -Mail -Adresse angeben, wie folgt:

$ git config --global Benutzer.Nennen Sie "Aaron Kili" $ git config -Global -Benutzer.E -Mail "[E -Mail geschützt]" 

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

$ git config -list 
Git -Einstellungen anzeigen

Erstellt ein neues Git -Repository

Geteilt Repositorys oder zentralisierte Arbeitsabläufe sind sehr häufig und das werden wir hier demonstrieren. Zum Beispiel gehen wir davon aus, dass Sie beauftragt wurden, ein Remote Central Repository für Systemadministratoren/Programmierer aus verschiedenen Abteilungen in Ihrer Organisation einzurichten, um an einem Projekt namens zu arbeiten Bashscripts, die unter gespeichert werden /Projekte/Scritpts/ auf dem Server.

Ssh In den Remote -Server und erstellen Sie das erforderliche Verzeichnis, erstellen Sie eine Gruppe mit dem Namen sysadmins (Fügen Sie alle Projektteam -Mitglieder zu dieser Gruppe E hinzu.G Benutzeradministrator) und die entsprechenden Berechtigungen in diesem Verzeichnis festlegen.

# MKDIR -P/Projects/Skripte/ # GroupAdd Sysadmins # Usermod -Ag Sysadmins admin # chown: 

Initialisieren Sie dann ein bloßes Projektrepository.

# GIT INIT -BARBARE/PROJEKTE/SCRIPTE/BASHSCRIPTS 
Initialisieren Sie Git Shared Repository

Zu diesem Zeitpunkt haben Sie ein nackt erfolgreich initialisiert Git Verzeichnis, das die zentrale Lagereinrichtung für das Projekt ist. Versuchen Sie, eine Auflistung des Verzeichnisses durchzuführen, um alle Dateien und Verzeichnisse dort zu sehen:

# ls -la/projects/scripts/bashscripts/ 
Listen Sie Git Shared Repository auf

Klon ein Git -Repository

Klonen Sie nun das Remote Shared Git -Repository über Ihren lokalen Computer über Ssh (Sie können auch über klonen Http/https Wenn Sie einen Webserver installieren und angemessen konfiguriert haben, wie bei den meisten öffentlichen Repositories auf GitHub der Fall) beispielsweise:

$ git klone ssh: // [E -Mail geschützt] _server_ip:/projects/scripts/bashscripts 

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

$ git clone ssh: // [E -Mail geschützt] _server_ip:/projects/scripts/bashscripts ~/bin/bashscripts 
Clone Shared Git Repository an lokale

Sie haben jetzt eine lokale Instanz des Projekts in a Nichtstart Repository (mit einem Arbeitsverzeichnis) können Sie die anfängliche Struktur des Projekts erstellen (i.E add a Liesmich.md Datei, Unterverzeichnisse für verschiedene Kategorien von Skripten e.G Recon, um Aufklärungsskripte, Sysadmin RO Store Sysadmin Skripte usw. zu speichern usw.):

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

Überprüfen Sie eine GIT -Statusübersicht

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

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

GIT -Bühnenveränderungen und Verpflichtungen

Geben Sie als nächstes alle Änderungen mit der Befehl hinzufügen mit dem -A Wechseln Sie und machen Sie den ersten Commiting. Der -A Flag weist den Befehl an, automatisch geänderte Dateien zu steigern, und -M wird verwendet, um eine Commit -Nachricht anzugeben:

$ git add -a $ git Commit -a -m "Erstes Commit" 
Git verpflichten

Veröffentlichen Sie lokale Commits in Remote Git Repository

Nachdem Sie die Projektstruktur erstellt haben, können Sie die Änderungen am zentralen Repository mit der Projektstruktur veröffentlichen Befehl drücken wie gezeigt.

$ Git Push Origin Master 
Drängen Sie sich zum Centrol Git -Repository

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

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

Sie können Sie auch Kollegen darüber informieren, an dem Projekt zu arbeiten, indem Sie das Repository an 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 (Master Zweig) zu berühren. Verwenden Sie das, um einen neuen Zweig zu erstellen und dann darauf zu wechseln, die Zweig Und Kasse Befehle jeweils.

$ Git Branch Neueste $ Git Checkout Neueste 

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

$ git checkout -b letztes 

Sie können beispielsweise auch einen neuen Zweig erstellen, der auf einer anderen Niederlassung basiert.

$ git checkout -b neuester Master 

Um zu überprüfen, in welchem ​​Zweig Sie sich befinden, verwenden Sie Zweigbefehl (Ein Sternchenzeichen zeigt den aktiven Zweig an):

$ Git Branch 
Überprüfen Sie den aktiven Zweig

Nehmen Sie nach dem Erstellen und Umschalten in den neuen Zweig einige Änderungen darunter und führen Sie einige Commits vor.

$ vim sysadmin/toppprocs.Sh $ Git Status $ Git Commit add sysadmin/topprocs.Sh $ Git Commit -a -m 'modifizierte Toppprocs.Sch' 

Verschmelzen Sie Änderungen von einem Zweig zum anderen zusammen

Um die Änderungen im Rahmen des Zweig -Tests in den Master -Zweig zusammenzufassen, wechseln Sie zum Master -Zweig und führen Sie die Zusammenführung durch.

$ git checkout master $ git merge Test 
Testzweig in den Master zusammenführen

Wenn Sie keinen bestimmten Zweig mehr benötigen, können Sie ihn mit dem löschen -D schalten.

$ Git Branch -d -Test 

Laden Sie Änderungen vom Remote Central Repository herunter

Unter der Annahme, dass Ihre Teammitglieder Änderungen am zentralen Projektrepository überschritten haben, können Sie alle Änderungen in Ihrer lokalen Instanz des Projekts mit dem Projekt herunterladen Befehl ziehen.

$ Git Pull Origin oder $ Git Pull Origin Master #Wenn Sie zu einem anderen Zweig umgestellt haben 
Ziehen Sie Änderungen aus dem zentralen Repository an

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

In diesem letzten Abschnitt werden wir einige nützliche Git -Funktionen abdecken, die alle Aktivitäten in Ihrem Repository im Auge behalten, sodass Sie den Projektverlauf anzeigen können.

Die erste Funktion ist Git -Protokoll, in der Commit -Protokolle angezeigt werden:

$ git log 
Git Commit Logs anzeigen

Ein weiteres wichtiges Merkmal ist das Befehl anzeigen Dies zeigt verschiedene Arten von Objekten (z. B. Commits, Tags, Bäume usw.):

$ git show 
Git Show -Objekte

Die dritte wichtige Funktion, die Sie wissen müssen.

Zum Beispiel können Sie den folgenden Befehl ausführen.

$ git Diff Master Neueste 
Differenz zwischen Zweigen zeigen

Lesen Sie auch: 10 Beste Git -Alternativen zur Moderator von Open Source -Projekten

Zusammenfassung

Git Ermöglicht einem Team von Personen, mit denselben Dateien zusammenzuarbeiten, während Änderungen an den Dateien im Laufe der Zeit aufgezeichnet werden, damit sie sich später an bestimmte Versionen erinnern können.

Auf diese Weise können Sie GIT zum Verwalten von Quellcode, Konfigurationsdateien oder einer auf einem Computer gespeicherten Datei verwenden. Möglicherweise möchten Sie sich auf die Git Online -Dokumentation beziehen, um weitere Unterlagen zu erhalten.