Git Clone Branch - So klonen Sie einen bestimmten Zweig

Im Gegensatz zu älteren zentralisierten Versionskontrollsystemen wie SVN und CVS wird Git verteilt. Jeder Entwickler hat die vollständige Historie und Kontrolle seines Codes lokal oder remote. Sie können auch auf mehrere Teile des Codes zugreifen oder diese bearbeiten, wenn sie dies von verschiedenen Positionen aus für richtig halten.

Seit Linus Torvalds (der berühmte Schöpfer des Linux-Betriebssystemkerns) Git 2005 für die Entwicklung des Linux-Kernels erstellt hat, ist es das am weitesten verbreitete moderne Versionskontrollsystem der Welt.

In diesem Artikel stelle ich Ihnen die Git-Klon- und Git-Zweig-Workflows vor und zeige Ihnen, wie Sie einen bestimmten Zweig basierend auf Ihren Anforderungen klonen können. Lass uns anfangen! ?

Voraussetzungen

  • Grundkenntnisse des Terminals
  • Möglichkeit zur Eingabe von Befehlen im Terminal
  • Git installiert (ich zeige dir noch wie)
  • Ein GitHub-Konto
  • Ein Lächeln auf Ihrem Gesicht (Setzen Sie dieses Lächeln Freund auf?)

Schnelle Einführung in Git und GitHub

Laut Wikipedia

Git ist ein verteiltes Versionskontrollsystem, mit dem Änderungen an einem Projekt (Code) in der Softwareentwicklung verfolgt werden können. Es soll die Koordination, Zusammenarbeit, Geschwindigkeit und Effizienz unter den Entwicklern erzwingen.

GitHub hingegen ist ein webbasierter Hosting-Service zur Versionskontrolle mit Git. Es bietet alle Funktionen der verteilten Versionskontrolle und Quellcodeverwaltung von Git sowie weitere Funktionen für Computercode.

So installieren Sie Git unter Windows

Laden Sie hier den neuesten Git für Windows Installer herunter und installieren Sie ihn.

So installieren Sie Git unter Linux

Hier sind die Befehle, die auf Ihrer Linux-Distribution basieren:

Debian oder Ubuntu

sudo apt-get update sudo apt-get install git

Fedora

sudo dnf install git

CentOS

sudo yum install git

Arch Linux

sudo pacman -Sy git

Gentoo

sudo emerge --ask --verbose dev-vcs/git

So installieren Sie Git auf einem Mac

Laden Sie hier das neueste Git for Mac-Installationsprogramm herunter und installieren Sie es.

Oder Sie können diesen Befehl eingeben:

brew install git

Nachdem wir Git installiert haben, fahren wir mit dem Tutorial fort.

Einführung in Git Clone

Mit Git können Sie Ihre Projekte in einem "Repository" verwalten und versionieren. Dieses Repository wird auf einem webbasierten Hosting-Dienst zur Versionskontrolle wie GitHub gespeichert.

Sie können dieses Repository dann auf Ihren lokalen Computer klonen und alle Dateien und Zweige lokal haben (ich werde bald mehr über Zweige erklären).

Sie können beispielsweise das Repository von freeCodeCamp mit SSH wie folgt klonen:

git clone [email protected]:freeCodeCamp/freeCodeCamp.git

Einführung in Git Branches

Wenn Sie an einem Projekt arbeiten, haben Sie wahrscheinlich unterschiedliche Funktionen. Mehrere Mitwirkende werden an diesem Projekt und seinen Funktionen arbeiten.

Mit Zweigen können Sie einen "Spielplatz" mit denselben Dateien im masterZweig erstellen . Mit diesem Zweig können Sie unabhängige Funktionen erstellen, neue Funktionen testen, Änderungen vornehmen, Korrekturen erstellen, Dokumente schreiben oder Ideen ausprobieren, ohne den Produktionscode zu beschädigen oder zu beeinflussen. Wenn Sie fertig sind, führen Sie den Zweig in den Produktionszweig ein master.

Verzweigung ist ein Kernkonzept in Git, das auch in GitHub verwendet wird, um Workflows verschiedener Versionen eines Projekts zu verwalten. Der masterZweig ist immer der Standardzweig in einem Repository, der am häufigsten als "Produktions- und bereitstellbarer Code" betrachtet wird. Neue Zweige mögen passwordless-authoder refactor-signup-uxkönnen aus dem masterZweig erstellt werden.

So klonen Sie Git-Zweige

Während Sie Repositorys mit dem git cloneBefehl klonen können , beachten Sie, dass dies den Zweig und die Fernbedienung klont HEAD. Dies ist normalerweise masterstandardmäßig und schließt alle anderen Zweige im Repository ein.

Wenn Sie also ein Repository klonen, klonen Sie den masterund alle anderen Zweige. Dies bedeutet, dass Sie selbst eine andere Filiale auschecken müssen.

Angenommen, Ihre Aufgabe in einem Projekt besteht darin, an einer Funktion zu arbeiten, um einem Benutzer-Dashboard eine kennwortlose Authentifizierung hinzuzufügen. Und diese Funktion ist in der passwordless-authBranche.

Sie brauchen den masterZweig wirklich nicht, da Ihr "Feature-Zweig" masterdanach zusammengeführt wird. Wie klonen Sie dann diesen passwordless-authZweig, ohne alle anderen Zweige mit "einer Reihe von Dateien abzurufen, die Sie nicht benötigen"?

Ich habe dieses Beispiel-Repository erstellt, um dies zu erklären. Dieses Repository enthält ein einfaches Blog, das mit Nextjs erstellt wurde, und vier Dummy-Zweige:

  • Meister
  • dev
  • Inszenierung
  • passwortlos-auth

In Nextjs wird jede Datei im Ordner pages/apidem /api/*Pfad zugeordnet und anstelle von a als API-Endpunkt behandelt page. In unserem Repository habe ich verschiedene Dummy-APIs in diesem Verzeichnis erstellt, um jeden Zweig anders zu machen.

Der masterZweig enthält die Dateiseiten / api / hello.js, während passwordless-authdie Dateiseiten / api / auth.js enthalten sind . Jede Datei gibt nur eine Dummy-Textantwort zurück. Sehen Sie hier masterdie Hallo-API-Antwort (mit einer speziellen Nachricht für Sie?).

Lassen Sie uns das Repository klonen:

git clone [email protected]:BolajiAyodeji/nextjs-blog.git

Dadurch haben wir Zugriff auf alle Zweige in diesem Repository, und Sie können problemlos zwischen den einzelnen Zweigen wechseln, um die einzelnen Versionen und ihre Dateien anzuzeigen.

git branch -a

Sie fragen sich, woher die Fernbedienungen / Herkunft / .. Zweige kamen?

Wenn Sie ein Repository klonen, ziehen Sie Daten aus einem Repository im Internet oder einem internen Server, der als Remote bezeichnet wird . Der Wortursprung ist ein Alias, der von Ihrem Git erstellt wurde, um die Remote-URL zu ersetzen (Sie können einen anderen Alias ​​ändern oder angeben, wenn Sie möchten).

Diese Remotes / origin / .. -Zweige verweisen Sie zurück auf das Origin-Repository, das Sie aus dem Internet geklont haben, sodass Sie weiterhin Pull / Push vom Origin ausführen können.

Wenn Sie also masterauf Ihren Computer klonen , remotes/origin/masterbefindet sich der ursprüngliche masterZweig im Internet und masterauf Ihrem lokalen Computer. Sie werden also von und nach ziehen remotes/origin/master.

Zusammenfassend ist Remote die URL, die Sie auf das Repository im Internet verweist, während Origin ein Alias ​​für diese Remote-URL ist.

So klonen Sie einen bestimmten Zweig

Lassen Sie uns nun einen bestimmten Zweig aus unserem Demo-Repository klonen. Es gibt zwei Möglichkeiten, einen bestimmten Zweig zu klonen. Du kannst entweder:

  • Klonen Sie das Repository, rufen Sie alle Zweige ab und checken Sie sofort zu einem bestimmten Zweig aus.
  • Klonen Sie das Repository und rufen Sie nur einen Zweig ab.

Option eins

git clone --branch  

oder

git clone -b  

Auf diese Weise rufen Sie alle Zweige im Repository ab, checken zu dem von Ihnen angegebenen aus und der bestimmte Zweig wird zum konfigurierten lokalen Zweig für git pushund git pull. Sie haben jedoch immer noch alle Dateien aus jedem Zweig abgerufen. Dies ist möglicherweise nicht das, was Sie wollen, oder? ?

Testen wir es:

 git clone -b passwordless-auth [email protected]:BolajiAyodeji/nextjs-blog.git

Dies wird automatisch passwordless-authals lokaler Zweig konfiguriert, verfolgt jedoch weiterhin andere Zweige.

Option Zwei

git clone --branch  --single-branch 

oder

git clone -b  --single-branch 

Dies führt die gleiche Aktion wie Option 1 aus, außer dass die --single-branchOption in Git Version 1.7.10 und höher eingeführt wurde. Sie können nur Dateien aus dem angegebenen Zweig abrufen, ohne andere Zweige abzurufen.

Testen wir es:

git clone -b passwordless-auth --single-branch [email protected]:BolajiAyodeji/nextjs-blog.git

Dies wird automatisch passwordless-authals lokaler Zweig konfiguriert und verfolgt nur diesen Zweig.

Wenn Sie ausführen cd pages/api, finden Sie die auth.jsDatei in der passwordless-authVerzweigung, wie vom vorherigen Setup erwartet.

Fazit

Möglicherweise geht Ihnen das Internet oder der Speicherplatz aus, aber Sie müssen an einer Aufgabe in einem bestimmten Zweig arbeiten. Oder Sie möchten aus verschiedenen Gründen einen bestimmten Zweig mit begrenzten Dateien klonen. Glücklicherweise bietet Git Ihnen die Flexibilität, dies zu tun. Lassen Sie Ihre Muskeln spielen und probieren Sie es aus. Es gibt noch viel mehr "Git" zu lernen.

Einer nach dem anderen, ja? ✌?