GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Gewusst wie:Eine Einführung in die Verwendung von Git

Einführung

Git ist ein Versionskontrollsystem. Es ermöglicht die Verwaltung, Änderung, Sicherung und gemeinsame Nutzung vieler Dateien, während automatisch Aufzeichnungen über alle vorherigen Versionen geführt werden. Zu diesen Dateitypen gehören unter anderem:Codedateien, Dokumente, Verträge, HTML- und CSS-Dateien und mehr. Alles, was textbasiert ist, kann mit Git verwendet werden.

Warum Git verwenden?

Haben Sie jemals ein Programm, eine Website oder ein Dokument aktualisiert, nur um sich zu wünschen, Sie hätten die vorherige Version zur Hand? Vielleicht haben Ihre Änderungen das Programm oder die Website beschädigt, vielleicht haben Sie einige Fläschcheninformationen ausgeschnitten und eingefügt. In jedem Fall würde Ihnen eine Zeitleiste der Änderungen Zeit und Mühe ersparen, und genau dafür wurde das Git-Protokoll entwickelt.

Darüber hinaus kann Git so eingerichtet werden, dass automatische Backups jeder Datei erstellt werden, wenn eine Datei gespeichert („committiert“) oder am System geändert wird. Es ist auch ein schnelles und leichtes System:Das Git-Protokoll speichert nur die Änderungen, die Sie an jeder Datei vorgenommen haben, nicht jede Datei einzeln.

Schließlich ist Git der Industriestandard bei der Arbeit mit Code. Es ermöglicht mehreren Benutzern, auf dieselben Dateien zuzugreifen und sie ohne Konflikte zu bearbeiten, eine lokale Kopie („Klon“) eines Projekts auf den Computer eines Benutzers zu bringen, eine neue Kopie zu Testzwecken zu erstellen, die das Original nicht beeinflusst („Zweig“) ) oder zum Erstellen einer völlig neuen Version („Fork“) Ihres Programms – oder des Programms eines anderen – zum Bearbeiten mit einem einzigen Klick oder Befehl. Sie können sogar die Änderungen in einem Branch wieder in das Original zurückbringen („merge“).

Installieren eines Git-Clients

Okay, um mit Git zu beginnen, müssen Sie etwas Software installieren. Es gibt viele Clients da draußen, aber wir konzentrieren uns auf einen für jedes wichtige Betriebssystem.

Windows-Installation:

Gehen Sie zu http://msysgit.github.io/ und klicken Sie auf „Download“, um das Programm zu installieren.

Seite zum Herunterladen des Windows-Git-Clients

Mac OSX-Installation:

SourceForge hostet das Max OSX-Installationsprogramm. Klicken Sie zum Herunterladen auf die Version, die Ihrer OSX-Version entspricht, und installieren Sie dann das Programm.

Mac OSX-Git-Client-Downloadseite

Linux-Installation:

Für Debian/Ubuntu:

sudo apt-get install git

Für CentOS/RedHat/Fedora:

sudo yum install git

Überprüfen Sie für andere Linux- oder Unix-Distributionen die Paketinstallationsoptionen hier.

Git verstehen

Bevor wir uns mit den Befehlen befassen, sollten wir uns einige der Hauptfunktionen und Terminologie ansehen, die mit Git verwendet werden.

Speicher :Die Hauptdatenbank, in der alle Ihre Dateien für ein bestimmtes Projekt gespeichert werden.
Index (Staging-Bereich):Der temporäre Speicherplatz für die Dateiänderungen, die Sie an das Repository übertragen.
HEAD :Zeigt auf einen aktuellen Zweig, in dem Ihre Änderungen festgeschrieben werden.

Hinweis:HEAD ist ein Befehl und ein Zeiger innerhalb des Git-Systems. Es wird verwendet, um den „Kopf“ abzugrenzen, eine Markierung, die dem System den aktuellen Zweig anzeigt, den Sie bearbeiten möchten.

Klecks :Der Name für eine Datei in Git.
Tag :Eine Notiz, die die Versionsnummer eines Dokuments oder Codestücks identifiziert.
Nachricht :Eine Beschreibung der Änderungen, die mit einem Commit vorgenommen wurden (Dateiaktualisierungen oder Tags)
Verlauf :Eine Aufzeichnung aller Commits, die an den Branch oder das Repository vorgenommen wurden.

Mit Git

Öffnen Sie das Git-Bash-Programm, das Sie oben installiert haben:

Git-Bash unter Windows

Wenn Sie einen anderen als den Standardordner zum Speichern Ihres Repositorys verwenden möchten, erstellen Sie den neuen Ordner und navigieren Sie dann in Ihrem Git-Client zum richtigen Ordner.

Beispiel für die Navigation zu einem Ordner:

(Windows)

cd C:/Users/username/foldername/

(Linux/Mac)

cd /Users/username/foldername

Wobei username ist Ihr Benutzername auf dem Computer und foldername ist der Name des von Ihnen erstellten Ordners.

Ein Git-Repository erstellen

Eine Möglichkeit zum Einstieg ist das Erstellen eines neuen Repositorys.

Um ein neues Repository zu erstellen, geben Sie den Befehl ein:

git init

Klonen eines Git-Repositorys

Eine andere Möglichkeit, um loszulegen, besteht darin, ein anderes vorhandenes Repository zu klonen. Geben Sie zum Klonen eines vorhandenen Repositorys von GitHub (einer beliebten Site zum Speichern und Freigeben von Projekten mit Git, die weiter unten erläutert wird) den folgenden Befehl ein:

git clone git://github.com/repositoryname

Geben Sie zum Klonen eines anderen Online-Repositorys (auf das Sie Zugriff haben) den folgenden Befehl ein:

git clone [email protected]:/path/to/repository.git

Git-Repositories festschreiben

Sobald Sie Änderungen vorgenommen haben und diese Änderungen Ihrem Repository hinzufügen möchten, gibt es einen kurzen Prozess, dem Sie folgen werden:

  1. Platzieren Sie Dateien zum Festschreiben im Index (Staging-Bereich)
  2. Bestätigen Sie das lokale Repository
  3. Änderungen in das Remote-Repository übertragen (wenn Sie mit einem Remote-Repository arbeiten).

Index

Sie müssen die Dateien, die Sie in jeder Runde übergeben, vor der Aktualisierung im Index (oder Staging-Bereich) ablegen. Ihr Git-Client aktualisiert nur die dort abgelegten Dateien. Um eine Datei in den Index aufzunehmen, geben Sie den Befehl ein:

git add filename

Hinweis:Sie können einen Punkt (.) anstelle des Dateinamens verwenden, um alle aktuellen Dateien im Verzeichnis hinzuzufügen.

git add .

Verpflichten

Um die hinzugefügten Dateien in Ihr lokales Repository zu übertragen, geben Sie den folgenden Befehl ein:

git commit -m "message"

Wobei message ist eine Beschreibung Ihrer Commit-Änderungen. Achten Sie darauf, Anführungszeichen einzufügen.

Tipp:

Lassen Sie uns, während wir hier sind, auf Commits und Nachrichten eingehen. Wir haben oben ein Beispiel gesehen, das alle Dateien zu einem Commit hinzufügt. Die bewährte Vorgehensweise bei der Verwendung von Git besteht jedoch darin, jedes Mal nur einen Satz verwandter Änderungen festzuschreiben. Commits sollten kleine, diskrete Brocken sein, die mit einer kurzen Nachricht erklärt werden können. Das macht die Versionskontrolle (der Grund für die Existenz von Git) nützlich. Kleine Änderungen können rückgängig gemacht werden, wenn sie Probleme verursachen oder sich später als unnötig herausstellen oder mit anderen Änderungen in Konflikt stehen. Das Festschreiben großer Blöcke unabhängiger Änderungen macht es schwierig, die Ursache eines Problems oder Fehlers zu identifizieren, falls einer auftritt. Eine gute Faustregel:Wenn es mehr als ein oder zwei Sätze braucht, um Ihren Commit zu beschreiben, müssen Sie kleinere Teile schreiben.

Drücken

Nachdem Ihre Änderungen festgeschrieben wurden, können Sie sie in ein Remote-Repository übertragen (falls Sie ein Remote-Repository verwenden):

git push origin master

Durch Pushen in ein Remote-Repository können andere Benutzer auf die von Ihnen vorgenommenen Änderungen zugreifen und diese ändern.

Erstellen, Verwenden und Zusammenführen von Git-Branches

Wir haben Zweige kurz besprochen, aber sehen wir sie uns noch einmal an.

Ein Zweig ist ein separater Gedankengang für Ihren Inhalt oder Ihr Programm. Wenn Sie beispielsweise eine neue Farbpalette für eine Website in Betracht ziehen möchten, können Sie einen oder mehrere Zweige der Website erstellen und Ihre verschiedenen Farbpalettenkonzepte testen, ohne den Master zu beeinträchtigen. Wenn Sie sich für ein neues orangefarbenes Thema entschieden haben, können Sie den „orange“-Zweig wieder mit dem Master zusammenführen und die alte Palette ersetzen. Mal sehen, wie das funktioniert.

Geben Sie Folgendes ein, um einen neuen Zweig zu erstellen, der Ihre orangefarbene Farbpalette aufnehmen wird:

git checkout -b orange

checkout ist ein Git-Befehl, der zwischen Zweigen wechselt. Das -b Option erstellt einen neuen Zweig mit dem darauf folgenden Namen – in diesem Fall „Orange“.

Hinweis:Stellen Sie sicher, dass Sie Ihre Arbeit in Ihrem Editor gespeichert haben, bevor Sie einen neuen Zweig erstellen, um ihn nicht zu verlieren.

Wenn Sie wieder zur Arbeit am Master-Zweig wechseln möchten, geben Sie Folgendes ein:

git checkout master

Hinweis:Git erfordert, dass Sie alle Änderungen festschreiben, bevor Sie Branches wechseln können.

In diesem Beispiel arbeiten wir mit dieser neuen Farbpalette, also bleiben wir beim neuen Zweig.

Du übergibst den Branch mit demselben Befehl wie den Master-Branch.

git commit -a -m "branch demonstrating an orange palette"

Das -a Flag fügt automatisch alle nachverfolgten Dateien hinzu – das heißt, alle Dateien, die im letzten Commit enthalten waren und geändert wurden.

Wenn Sie Ihren orangefarbenen Zweig in das Remote-Repository verschieben möchten, verwenden Sie:

git push origin orange

Wenn Sie mit Ihren Tests zufrieden sind und die Änderungen in Ihre primäre Version (Ihren Master-Zweig) aufnehmen möchten, sollten Sie sie zusammenführen.

Checken Sie zuerst in Ihren Master-Zweig aus.

git checkout master

Verwenden Sie dann den Zusammenführungsbefehl, um den Master mit Ihren „orangen“ Zweiginformationen zu aktualisieren.

git merge orange

Nach der Zusammenführung ist der Zweig noch vorhanden, wird aber nicht mehr benötigt. Löschen Sie den Zweig „orange“ mit -d Möglichkeit:

git branch -d orange

Konflikte beim Zusammenführen

Wenn Sie zwei oder mehr Zweige haben, die Änderungen an derselben Datei haben, kann es zu einem Konflikt kommen, wenn Sie sie nacheinander zusammenführen. Ein Beispiel für einen Konflikt zwischen einem „Testlayout“-Zweig Ihrer Website und Ihrem „orangefarbenen“ Zweig, den Sie kürzlich mit dem Master zusammengeführt haben, könnte wie folgt aussehen:

$ git merge orange
<<<<<<< HEAD:index.html
<div id="footer">contact : [email protected]</div>
=======
<div id="footer"> contact us at [email protected]</div>
>>>>>>> test-layout:index.html

Sie sind dafür verantwortlich, die beiden Dateien so zu ändern, dass sie in den Konfliktbereichen übereinstimmen, und führen dann den Befehl aus, um die Zusammenführung abzuschließen:

git add index.html

Sie können Branches vor einer Zusammenführung immer vergleichen, indem Sie diff verwenden Befehl.

git diff <one-branch> <another-branch>

Pull &Fetching mit Git

Wir haben besprochen, wie Sie Änderungen an ein Remote-Repository übertragen können, aber was ist, wenn Sie mit anderen zusammenarbeiten und auf die von ihnen vorgenommenen Änderungen zugreifen müssen? Dort ist der pull Befehl kommt herein.

Pulling ruft alle Änderungen ab, die seit dem letzten Klonen oder Pullen am Remote-Repository vorgenommen wurden, und kopiert die Änderungen in Ihr lokales Repository.

git pull

Wenn Sie Remote-Updates wünschen, ohne dass Ihre lokale Kopie automatisch geändert wird, um die Änderungen widerzuspiegeln, verwenden Sie fetch :

git fetch

Sie haben dann die Möglichkeit, die Änderungen zu überprüfen und die Aktualisierungen in Ihrem Master zusammenzuführen.

Forking &GitHub

Bei der Nutzung und dem Erlernen von Git werden Sie auf den Begriff „fork“ oder „forking“ stoßen. Forking ist lediglich das Klonen des Repositorys eines anderen in Ihren eigenen Bereich, wo Sie es ändern und Ihre eigene Version erstellen können, ohne deren zu stören, wodurch eine unabhängige Version oder „Fork“ erstellt wird.

Sie werden auch auf den Namen GitHub stoßen. Mit GitHub ist das Forken einfach und kann mit einem Klick auf eine Schaltfläche erledigt werden:

Fork-Schaltfläche auf GitHub

GitHub wird hauptsächlich als kollaboratives Tool in Rechnung gestellt und ist ein Dienst, mit dem Sie Ihre Repositories sichern und freigeben oder zu Projekten anderer beitragen und forken können. Es gibt andere Dienste, die GitHub ähneln, aber GitHub bleibt eine der beliebtesten Optionen.

Um den Client herunterzuladen oder mehr zu erfahren, gehen Sie zu Github.

Weitere Ressourcen

Es gibt viele Quellen, aus denen Sie erweiterte Optionen in Git lernen können. Eine der gründlichsten Quellen ist das Pro Git-Buch, das online verfügbar ist.

Und es gibt immer die offizielle Git-Dokumentation.

GitHub bietet auch eine Playlist mit Videolektionen.

Atlantic.Net

Atlantic.net bietet VPS-Hosting sowie Managed-Hosting-Dienste an, die eine Schicht von geschäftsessenziellen Managed-Services zu Ihren Hosting-Paketen beinhalten. Kontaktieren Sie uns noch heute für weitere Informationen.


Linux
  1. So teilen Sie ISO oder Datei mit dem Befehl „Split“ in Linux

  2. Wie kann man zwei Dateien mit AWK zusammenführen?

  3. Wie beschränke ich die Dateigröße beim Commit?

  4. Wie fülle ich eine Datei mit FF mit dd auf?

  5. So öffnen Sie eine Datei in vim mit Pipe

So erstellen Sie einen symbolischen Link in Linux mit dem Ln-Befehl

So überwachen Sie Dateiänderungen mit fswatch unter Linux

So richten Sie einen einfachen Dateiserver mit simpleHTTPserver ein

So sperren Sie eine Textdatei in Linux mit dem Befehl flock

So ändern Sie Dateiberechtigungen mit FileZilla

Wie blockiere ich eine IP-Adresse mit .htaccess?