So löschen Sie einen Git -Zweig

So löschen Sie einen Git -Zweig
Das Erstellen von Zweigen in Git ist einfach. Es gilt als eines der besten Funktionen von Git. Aufgrund der Anwesenheit von Fern- und lokalen Repositorys kann das Löschen von Ästen jedoch ein wenig verwirrend werden.

In dieser Lektion werden wir Folgendes tun:

  • Erstellen Sie ein Remote -Repository
  • Erstellen Sie eine lokale Kopie des Remote -Repositorys
  • Erstellen Sie zwei Filialen in der lokalen Kopie
  • Schieben Sie einen Zweig in das Remote -Repository
  • Lokale Zweige löschen
  • Remotezweige löschen

Die Lektion sollte Ihnen ein allgemeines Verständnis für den Erstellung und den Löschprozess der Zweigstelle vermitteln, sodass Sie einen guten Befehl über die erforderlichen Schritte haben.

Lass uns anfangen.

1. Erstellen eines Remote -Repositorys

Erstellen wir einen Ordner namens Project.Git und initialisieren Sie das Remote -Repository:

$ mkdir Projekt.Git
$ CD -Projekt.Git
$ git init -bare

Initialisiertes leeres Git -Repository in/user/zak/_work/lerngit/git_delete_branch/project initialisiert.Git/

2. Erstellen einer lokalen Kopie des Remote -Repositorys

Lassen Sie uns an einem neuen Ort eine lokale Kopie namens Project_local des Remote -Repositorys mit dem Befehl clone erstellen.

Hinweis: Wenn Sie mit dem GitHub oder Bitbucket arbeiten, folgen Sie dem gleichen Vorgang, um das Repository zu klonen. In diesem Fall haben Sie einen SSH -Link anstelle des hier verwendeten vollständigen Dateipfads.

$ git klone/user/zak/_work/lerngit/git_delete_branch/project.git project_local
Klonen in 'project_local'…
Warnung: Sie scheinen ein leeres Repository geklont zu haben.
Erledigt.

3. Erstellen von Zweigen innerhalb der lokalen Kopie

Fügen wir zuerst eine Datei zur lokalen Kopie hinzu und schieben wir sie dann in das Remote -Repository:

$ cd project_local
$ touch Readme.txt
$ git add -a
$ Git Commit -m "Initialisierung des Moduls"
[Master (Root-Commit) 81EB2A3] Initialisieren des Moduls
1 Datei geändert, 0 Insertionen (+), 0 Löschungen (-)
Erstellen Sie den Modus 100644 Readme.txt
$ Git Push Origin Master
Zählen von Objekten: 3, erledigt.
Schreibobjekte: 100% (3/3), 221 Bytes | 0 Bytes/s, fertig.
Gesamt 3 (Delta 0), wiederverwendet 0 (Delta 0)
An/user/zak/_work/lerngit/git_delete_branch/project.Git
* [neuer Zweig] Master -> Master

In den obigen Befehlen haben wir eine Datei namens Readme erstellt.TXT, es der lokalen Kopie hinzugefügt, es an die lokale Kopie verpflichtet und dann die Änderungen in das Remote -Repository oder den Master -Zweig des Ursprungs weitergegeben.

Wenn Sie die Filialen überprüfen, sehen Sie die Master -Filiale in der örtlichen Kopie:

$ Git Branch
* Meister

Wenn Sie die Remote -Zweige überprüfen, sehen Sie auch den Master -Zweig dort:

$ git branch -r
Herkunft/Meister

Tipp: Sie können die Option '-A' verwenden, um alle Zweige in lokalen und entfernten Repositories zusammen zu sehen.

$ Git Branch -a
* Meister
Fernbedienungen/Herkunft/Master

Erstellen wir zwei Zweige namens B1 und B2 aus dem Master -Zweig:

$ Git Branch B1
$ Git Branch B2

Überprüfen Sie, ob die Zweige erstellt wurden:

$ Git Branch
B1
B2
* Meister

Jetzt werden wir einige Änderungen an den Zweigen vornehmen:

$ git checkout b1
Auf den Zweig 'B1' umgestellt
$ Touch Branch1.txt
$ git add -a
$ Git Commit -m "Branch1 -Modifikation"
[B1 A2F488E] Zweig1 -Modifikation
1 Datei geändert, 0 Insertionen (+), 0 Löschungen (-)
Erstellen Sie den Modus 100644 Branch1.txt
$ git checkout b2
Auf den Zweig 'B2' umgestellt '
$ Touch Branch2.txt
$ git add -a
$ Git Commit -m "Branch2 Modifikation"
[B2 2ABB723] Zweig2 -Modifikation
1 Datei geändert, 0 Insertionen (+), 0 Löschungen (-)
Erstellen Sie den Modus 100644 Branch2.txt

Lassen Sie uns den Status der lokalen und entfernten Zweigstellen überprüfen:

$ Git Branch
B1
* B2
Meister
$ git branch -r
Herkunft/Meister

Wir können vor Ort sehen, dass wir drei Zweige Master, B1 und B2 haben. Aber wir haben nur den Master -Zweig im Remote -Repository.

4. Das Schieben von Zweigen in das Remote -Repository drücken

Lassen Sie uns den B1 -Zweig zum Remote -Repository drücken:

$ Git Push Origin B1
Zählen von Objekten: 2, erledigt.
Delta -Komprimierung mit bis zu 4 Fäden.
Komprimierungsobjekte: 100% (2/2), fertiggestellt.
Schreibobjekte: 100% (2/2), 249 Bytes | 0 Bytes/s, fertig.
Gesamt 2 (Delta 0), wiederverwendet 0 (Delta 0)
An/user/zakh/_work/lerngit/git_delete_branch/project.Git
* [neuer Zweig] B1 -> B1

Sie können den örtlichen und entfernten Zweigstatus überprüfen:

$ Git Branch
B1
* B2
Meister
$ git branch -r
Herkunft/B1
Herkunft/Meister

Aus den oben genannten Zweigstatus können wir sehen, dass der B1 -Zweig auch aus der Ferne verfügbar ist.

5. Zweige lokal löschen

Sie können Zweige lokal mit der Option -d oder -d löschen.

Git Branch -d

Schauen wir uns zunächst in den Master -Zweig ein, damit wir die Zweige B1 und B2 löschen können.

$ Git Checkout Master
Zum Branch "Master" umgestellt
Ihr Zweig ist auf dem neuesten Stand mit "Herkunft/Master".

Versuchen wir die Option -d zuerst, um den Zweig B1 zu löschen:

$ Git Branch -d B1
Fehler: Der Zweig 'B1' ist nicht vollständig zusammengeführt.
Wenn Sie sicher sind, dass Sie es löschen möchten, führen Sie 'Git Branch -d B1' aus.

Der Fehler sagt Ihnen, dass Sie die Änderungen aus Zweig B1 zusammenführen müssen. Dies ist ein Schutz. Sie können die Option -D verwenden, um die Verschmelzung zu löschen. Aber in diesem Fall fusionieren wir die Änderungen von B1 und B2 in den Master und schieben sie in das Remote -Repository.

$ git merge b1
Aktualisieren von 81EB2A3… A2F488E
Schnell vorwärts
Zweig1.txt | 0
1 Datei geändert, 0 Insertionen (+), 0 Löschungen (-)
Erstellen Sie den Modus 100644 Branch1.txt
$ git merge b2
Zusammenführen durch die "rekursive" Strategie.
Zweig2.txt | 0
1 Datei geändert, 0 Insertionen (+), 0 Löschungen (-)
Erstellen Sie den Modus 100644 Branch2.txt
$ Git Push Origin Master
Zählen von Objekten: 4, erledigt.
Delta -Komprimierung mit bis zu 4 Fäden.
Komprimierungsobjekte: 100% (4/4), fertiggestellt.
Schreibobjekte: 100% (4/4), 454 Bytes | 0 Bytes/s, fertig.
Gesamt 4 (Delta 1), wiederverwendet 0 (Delta 0)
An/user/zak/_work/lerngit/git_delete_branch/project.Git
81EB2A3… 34DB496 Master -> Master

Versuchen Sie nun, die Zweige erneut zu löschen:

$ Git Branch
B1
B2
* Meister
$ Git Branch -d B1
Löschter Zweig B1 (war A2F488E).
$ Git Branch -d B2
Löschter Zweig B2 (2abb723).
$ Git Branch
* Meister

Sie haben die B1- und B2 -Zweige erfolgreich lokal gelöscht.

6. Fernzweige löschen

Wenn Sie die Remote -Zweige überprüfen, sehen Sie immer noch B1 vorhanden:

$ git branch -r
Herkunft/B1
Herkunft/Meister

Sie können den folgenden Befehl verwenden, um einen Remote -Zweig zu löschen:

Git Push --löschen

Sie können also den Remote B1 -Zweig mit Folgendem löschen:

$ Git Push Origin -Delete B1
An/user/zakh_eecs/_work/lerngit/git_delete_branch/project.Git
- [gelöscht] B1

Wenn Sie jetzt Ihre Remote -Zweige überprüfen, sollten Sie B1 nicht mehr sehen:

$ git branch -r
Herkunft/Meister

Glückwunsch! Sie haben alle von Ihnen erstellten Zweige erfolgreich gelöscht. Üben Sie, mehr Zweige zu machen und sie zu löschen, um den Git -Zweig -Löschprozess zu beherrschen.

Weiteres Studium:

  • https: // git-scm.com/book/en/v1/git-branching-What-a-branch-is
  • https: // git-scm.com/book/en/v2/git-branchierende Branchen-in-a-Nutshell
  • https: // git-scm.com/book/en/v2/git-branchierend-basischem Branchieren und Merken