Stellen Sie sich vor, Sie schreiben ein Buch und möchten mit neuen Ideen experimentieren, ohne das Original zu verändern. Sie könnten für jede Idee ein neues Notizbuch beginnen und Ihre Entwürfe getrennt halten.
Git, ein Versionskontrollsystem, ermöglicht Softwareentwicklern dasselbe mit Code durch „Branches“ zu tun. Jeder Branch ist wie ein separater Entwicklungsweg, der es Ihnen ermöglicht, Änderungen zu erkunden, ohne den Hauptcode zu beeinflussen.
In diesem Artikel werde ich Ihnen die Verwendung von git clone
erläutern, wobei der Schwerpunkt auf dem Klonen bestimmter Branches liegt. Wenn Sie mehr über Git erfahren möchten, empfehle ich diesen Einführung in Git Kurs.
Beginnen wir mit einer kurzen Antwort für diejenigen unter Ihnen, die es eilig haben. Danach werden wir ausführlicher auf die Details eingehen.
Kurze Antwort: Wie man einen bestimmten Branch klont
Um einen bestimmten Branch aus einem Git-Repository zu klonen, verwenden Sie den Befehl:
git clone --single-branch --branch <branch_name> <repository_url>
Ersetzen Sie <branch_name>
mit dem Namen der gewünschten Branch und <repository_url>
mit der URL des Repositories. Dieser Befehl erstellt eine lokale Kopie der angegebenen Branch, was die unmittelbare und zentrierte Entwicklung auf dieser Branch ermöglicht.
Beispiel
Durchgehend in diesem Artikel verwenden wir dieses Repository. Sie können es verwenden, um die gelernten Befehle auf Ihrem Rechner auszuprobiern. Das Repository enthält drei Branches:
main
: Der Standard-Zweig mit zwei Textdateien.add-new-file
: Ein Zweig, in dem eine dritte Datei hinzugefügt wurde.modify-file
: Ein Zweig, in dem die zweite Datei geändert wurde.
So können wir den Zweig add-new-file Klonen:
git clone --single-branch --branch add-new-file https://github.com/fran-aubry/git-clone-example.git
Was ist git clone
?
Standardmäßig ist git clone
dafür konzipiert, den gesamten Repository-Ordner in einem neuen Verzeichnis auf Ihrem lokalen Rechner zu kopieren, inklusive aller Zweigarten. Hier ist die Syntax:
git clone <repository_url>
Um das Beispiel-Repository zu klonen, können Sie Folgendes tun:
git clone https://github.com/fran-aubry/git-clone-example.git
Nach der Ausführung dieses Befehls werden alle Zweigstellen auf Ihrem lokalen Rechner kopiert. Allerdings sind nur die Dateien einer Zweigstelle gleichzeitig sichtbar, die als angezogen Zweigstelle bezeichnet wird. Nach dem Klonen eines Repositories ist der Standardzweig (normalerweise main
oder master
genannt) der, der angezogen ist.
Zweigstellen wechseln
Nach einer vollständigen Kopie können wir mit dem git checkout Befehl auf die gewünschte Zweigänderung (Checkout) wechseln. Zum Beispiel, um auf den modify-file Zweig zu wechseln, führen wir die folgende Aktion aus:
git checkout modify-file
Tiefengrad der Klonoperation
Beim Arbeiten mit Git werden Änderungen an einem Zweig durch einen Commit gespeichert, indem der git commit
Befehl verwendet wird. Jeder Commit erzeugt einen neuen Zustand für diesen Zweig, der später, falls notwendig, zurückgenommen werden kann. Man kann jeden Commit als Erstellung eines Snapschots betrachten, wobei Git alle diese Snapshots verwaltet. Es ist möglich, einen Zweig jederzeit zu einem dieser Snapshots zurückzukehren.
Der Befehl git clone
lädt, wenn er ohne Optionen verwendet wird, jeden Commit jeder Branch auf Ihren lokalen Rechner herunter. Je nach Größe des Projekts kann dies einen erheblichen Teil Ihrer lokalen Speicherung beanspruchen. Wenn Sie wissen, dass Sie die gesamte Geschichte nicht brauchen, können Sie den --depth
Parameter verwenden, um anzugeben, wie viele Commits (oder Snapshots) Sie klonen wollen.
Um nur die Hauptbranch zu klonen und dabei nur den neuesten Commit zu laden, verwenden Sie den folgenden Befehl:
git clone --depth=1 https://github.com/fran-aubry/git-clone-example.git
Klonen einer bestimmten Branch
Wir haben gelernt, wie man ein Repository klonen kann git clone. Standardmäßig kloniert dieser Befehl alles auf Ihre lokale Maschine. Oft ist man nur interessiert an der Arbeit auf einer bestimmten Zweig, es wäre also effizienter, nur diesen bestimmten Zweig zu klonen. Dieser Ansatz spart Festplattenplatz und ermöglicht es Ihnen, ohne nach dem Klonen die Zweigübergänge zu wechseln, direkt zu arbeiten.
In der Buchschreiberei Analogie, denken Sie daran, einem die Arbeit auf die Neuaufnahme des zweiten Kapitels eines Buches zugewiesen zu werden. In solcher Situation sollten Sie nur den Zweig klonen, in dem diese Aufgabe durchgeführt wird, da es unnotig ist, Zweige zuzugreifen, die mit der Überarbeitung anderer Kapitel in Bezug stehen.
Du kannst git anweisen, einen einzelnen Zweig zu klonen, indem du die Argumente --single-branch
und --branch
hinzufügst, gefolgt vom Namen des Zweigs:
git clone --single-branch --branch <branch_name> <repository_url>
Lass uns die Befehlsaufruf aufbrechen:
git clone
: Dies ist der grundlegende git-Befehl, der verwendet wird, um ein Repository von einer entfernten Quelle auf Ihren lokalen Rechner zu kopieren.
--single-branch
: Diese Option besagt Git, nur einen einzelnen Zweig zu klonen. Wenn kein Zweig angegeben ist, wird der Standardzweig kloniert.
--branch <branch_name>
: Diese Option legt fest, von welcher Zweigstelle kloniert werden soll. Die <branch_name> ist der Name der Zweigstelle, die du klonen möchtest.<repository_url>
: Dies ist die URL des Repositories.
Zum Beispiel um nur die modify-file Zweigstelle unseres Repositories zu klonen, kannst du Folgendes tun:
git clone --single-branch --branch add-new-file https://github.com/fran-aubry/git-clone-example.git
Wie man mit einer klonierten Zweigstelle arbeitet
Wenn du an einer Zweigbahn arbeitest, gibt es drei grundlegende Operationen, die du tun musst:
- Sichern Ihrer aktuellen Arbeit durch das Erstellen eines Snapshots des aktuellen Zustands.
- Hochladen Ihrer Änderungen, sodass jeder sie erreichen kann.
- Herunterladen der Änderungen anderer und Zusammenführen dieser mit Ihren eigenen.
Sichern Ihrer Änderungen mit git commit
In Git nennt man das Speichern Ihrer Arbeit einen Commit. Dieser Vorgang erstellt ein Foto des aktuellen Zustands der Zweigbahn, die Sie bearbeiten.
Der Zustand der Zweigbahn wird nach jedem Commit auf Ihrem lokalen Rechner gespeichert, was Ihnen erlaubt, zwischen den verschiedenen Stadien des Fortschritts zu navigieren.
Um Ihre Änderungen in git zu commiten, verwenden Sie den git commit
Befehl. Allerdings muss git vor dem Committen Ihrer Änderungen erkennen, welche Dateien Sie im Commit mitbeinclude wollen. Sie weisen die Dateien an, die gespeichert werden sollen, mithilfe des git add
Befehls. Die Syntax für diesen Befehl lautet wie folgt:
git add <path_to_file>
In der Syntax ist <path_to_file>
der Pfad zur Datei, die Sie commiten möchten. Zum Beispiel, wenn wir auf dem Zweig modify-file
unseres Beispiel-Repositorys und einen Absatz zu file2.txt
hinzugefügt haben, könnten Sie diese Datei durch Ausführen folgender Befehle hinzufügen:
git add file2.txt
Nachdem du alle Dateien hinzugefügt hast, die du im Commit integrieren möchtest, kannst du mit dem Commit fortfahren, indem du folgendes ausführendoes:
git commit -m <message>
Hier sollte das <message>
Argument ein kurzer Text sein, der in doppelten Anführungszeichen eingeschlossen ist und die Änderungen kurz beschreibt. Zum Beispiel:
git commit -m "Add paragraph"
Hier sind einige Konventionen für die Commit-Nachricht. Sie sind wichtig, um Klarheit und Verständnis unter allen, die am Projekt arbeiten, zu gewährleisten:
- Verwende die imperative Form: beginne deine Commit-Nachricht mit einem Verb im imperative Form (z.B., „Hinzufügen,“ „Beheben,“ „Aktualisieren“). Zum Beispiel statt „Neue Funktion hinzugefügt,“ schreibe „Füge neue Funktion hinzu.“
- Kurz aber beschreibend:Zielen Sie auf eine kurze Botschaft, idealerweise unter 50 Zeichen. Priorisieren Sie jedoch die Klarheit beim Beschreiben der Änderungen. Statt von „Geänderte Dinge“ schreiben Sie „Styling der Navigationsleiste aktualisieren.“
- Generische Nachrichten vermeiden: Vermeiden Sie abstrakte Botschaften wie „Fehler beheben“ oder „Verbesserungen vornehmen.“ Geben Sie stattdessen an: „Behebe Fehler in der Login-Formularvalidierung“ oder „Verbesserung der Dokumentationslesbarkeit.“
Veröffentlichen Sie Ihre Änderungen mit git push
Wenn du committed, erstellst du ein Snapshot der Änderungen auf deinem lokalen Rechner. Um anderen Zugriff auf deine Änderungen zu geben, musst du sie hochladen. Zum Tun, verwendest du den push
-Befehl.
Die grundlegende Syntax der push-Anweisung in Git lautet:
git push <remote> <branch>
Lass uns sie zerlegen:
<fern>
: Dies ist der Name des entfernten Repositories, in das du deine Änderungen pushen möchtest. Standardmäßig wird das Remote-Repository beim Klonen eines Repositories ursprünglich genannt.<Zweig>
: Dies ist der Name des Zweigs, dessen Änderungen du an das entfernte Repository pushen möchtest. Wenn du diesen Parameter weglassst, versendet Git die Änderungen auf Basis der aktuellen Zweig und der Remote-Verfolgungskonfigurationen.
Hier sind einige allgemeine Anwendungsfälle für git push
:
- Pushen von Änderungen aus der aktuellen Zweig:
git push
- Änderungen von einer bestimmten Zweigstelle verschieben:
git push origin <branch>
Download von Änderungen mit git pull
Git ermöglicht es großen Teams, gleichzeitig an demselben Projekt zu arbeiten. Wenn Kollegen die gleiche Zweigstelle bearbeiten, die du arbeitest, kann deine lokale Zweigstelle im Vergleich zur fernen Zweigstelle veraltet werden.
Um Änderungen anderer Personen zu laden, verwenden wir den Befehl git pull
. Die grundlegende Syntax des Push-Befehls in Git lautet:
git pull <remote> <branch>
Hier ist was jeder Parameter tut:
<remote>
: Der Name dieses Remote-Repositorys, von dem du Daten pullen möchtest, lautet standardmäßig origin.<branch>
: Der Name der Zweigeschichte, von der du Änderungen pullen möchtest. Wenn nicht angegeben, nutzt Git den aktuellen Zweig und seine Upstream-Zweigeschichte.
Hier sind einige allgemeine Anwendungsfälle von git pull
:
- Pullen von Änderungen aus dem aktuellen Zweig:
git pull
- Pullen von Änderungen aus einem bestimmten Zweig:
git pull origin <branch>
Commit-pull-push Workflow
Beim Einsatz von Git empfehle ich die regelmäßige Herunterpullen von Updates, um sicherzustellen, dass Ihre lokale Zweiglinie aktuell bleibt. Ich rate Ihnen folgende Best Practices zu befolgen:
- Bevor Sie beginnen, Ihre Arbeiten zu starten, ziehen Sie bitte die neuesten Updates für Ihren aktuellen Zweig herunter, um sicherzugehen, dass Sie auf der letzten Version arbeiten.
- Committen Sie oft und stellen Sie sicher, dass jedes Commit auf kleine, logisch zusammenhängende Änderungen fokussiert ist.
- Nachdem Sie einige Änderungen getroffen haben und einen Commit erstellt haben, ziehen Sie erneut herunter, um Ihren Zweig zu aktualisieren, falls jemand anderer gleichzeitig Updates durchgeführt hat.
- Schließlich sollten Sie Ihre Änderungen auf das fremde Repository ablegen.
Git-Konflikte
Wenn Sie den Befehl git pull verwenden, um Änderungen aus einem Remote-Repository herunterzuladen, kann es zu einer Situation kommen, in der ein anderer Commit die gleichen Zeilen verändert hat, wie Ihre lokalen Commits. Git versucht automatisch Änderungen zu integrieren und viele Male ist das erfolgreich. Zum Beispiel kann Git zwei Änderungen an unterschiedlichen Teilen derselben Datei problemlos integrieren, weil die Commits unterschiedliche Abschnitte betreffen.
Wenn jedoch ein anderer Mitwirkender und Sie denselben Abschnitt bearbeitet haben, kann Git nicht bestimmen, welche Version behalten werden soll, was zu einem Merge-Konflikt führt. In dieser Situation müssen Sie den Konflikt manuell lösen, indem Sie entscheiden, welche Änderungen beibehalten werden sollen.
Für weitere Anleitungen zur Lösung von Konflikten empfehle ich, diesen Artikel über wie man Konflikte in Git löst zu lesen.
GitHub Download
In bestimmten Situationen möchten Sie eine lokale Kopie eines Repositories haben, um sie ohne Absicht der Änderung zu verwenden. Wenn es sich um ein öffentliches Repository handelt, ist es nicht notwendig, Git auf Ihrem lokalen Rechner zu installieren. Sie können das Repository direkt von GitHub herunterladen, indem Sie auf den Code-Knopf klicken, gefolgt vom ZIP herunterladen-Knopf, wie unten gezeigt:
Fazit
Mit Git-Cloning können Sie ein Git-Repository auf Ihren lokalen Rechner kopieren, was Ihnen das Verwenden des Codes oder die Erweiterung durch neue Funktionen ermöglicht. Beim Klonen eines Repositories werden alle Zweige heruntergeladen, was einen erheblichen Speicherplatz bedeuten kann.
Zweigoperationen werden verwendet, um an bestimmten Änderungen oder Features zu arbeiten. Das Klonen eines bestimmten Zweigs ermöglicht Ihnen, ohne irrelevante Arbeiten herunterzuladen, zu diesen Änderungen beizutragen, was deutlich weniger Festplattenplatz in Anspruch nimmt und Ihren lokalen Festplatten einen sauberen Look behält.
Wenn Sie mehr über das Thema erfahren möchten, empfehle ich Ihnen diesenGitHub und Git-Lehrbuch für Anfänger.
Source:
https://www.datacamp.com/tutorial/git-clone-branch-tutorial