Git

So löschen Sie einen Git-Branch

So löschen Sie einen Git-Branch
Das Erstellen von Branches in Git ist einfach. Es gilt als eine der besten Funktionen von Git. Aufgrund des Vorhandenseins von Remote- und lokalen Repositorys kann das Löschen von Branches jedoch etwas verwirrend werden.

In dieser Lektion werden wir Folgendes tun:

Die Lektion sollte Ihnen ein allgemeines Verständnis des Erstellungs- und Löschvorgangs von Zweigen vermitteln, damit Sie die erforderlichen Schritte beim Löschen eines lokalen oder entfernten Zweigs gut beherrschen.

Lass uns anfangen.

1. Erstellen eines Remote-Repositorys

Erstellen wir einen Ordner namens project.git und initialize als Remote-Repository:

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

Initialisiertes leeres Git-Repository in /Users/zak/_work/LearnGIT/git_delete_branch/project.git/

2. Erstellen einer lokalen Kopie des Remote-Repository

Erstellen wir an einem neuen Ort eine lokale Kopie namens project_local des Remote-Repositorys mit dem Befehl clone clone.

Hinweis: Wenn Sie mit 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 clone /Users/zak/_work/LearnGIT/git_delete_branch/project.git project_local
Klonen in 'project_local'…
Warnung: Sie scheinen ein leeres Repository geklont zu haben.
getan.

3. Verzweigungen innerhalb der lokalen Kopie erstellen

Fügen wir zuerst der lokalen Kopie eine Datei hinzu und verschieben Sie sie dann in das Remote-Repository:

$ cd project_local
 
$ ReadMe berühren.TXT
 
$ git add -A
 
$ git commit -m "Initialisierung des Moduls"
 
[master (root-commit) 81eb2a3] Initialisieren des Moduls
1 Datei geändert, 0 Einfügungen (+), 0 Löschungen (-)
Modus erstellen 100644 ReadMe.TXT
 
$ git push origin master
 
Objekte zählen: 3, fertig.
Schreibobjekte: 100% (3/3), 221 Byte | 0 Byte/s, fertig.
Gesamt 3 (Delta 0), wiederverwendet 0 (Delta 0)
An /Users/zak/_work/LearnGIT/git_delete_branch/project.git
* [neuer Zweig]      Master -> Master

In den obigen Befehlen haben wir eine Datei namens ReadMe erstellt.txt, fügte es der lokalen Kopie hinzu, legte es in die lokale Kopie fest und pushte dann die Änderungen an das Remote-Repository oder den Master-Branch des Ursprungs.

Wenn Sie die Branches überprüfen, sehen Sie den Master-Zweig in der lokalen Kopie:

$ git branch
* Meister

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

$ git branch -r
Herkunft/Meister

Hinweis: Sie können die Option '-a' verwenden, um alle Zweige in lokalen und entfernten Repositorys zusammen anzuzeigen.

$ git branch -a
* Meister
Fernbedienungen/Ursprung/Master

Lassen Sie uns zwei Zweige namens b1 und b2 aus dem Master-Zweig erstellen:

$ git branch b1
$ git branch b2

Lassen Sie uns überprüfen, ob die Zweige erstellt wurden:

$ git branch
 
b1
b2
* Meister

Jetzt werden wir einige Änderungen an den Zweigen vornehmen:

$ git checkout b1
 
Auf Zweig 'b1' gewechselt
 
$ Zweigstelle1 berühren.TXT
 
$ git add -A
 
$ git commit -m "Änderung von Zweig1"
 
[b1 a2f488e] Branch1-Modifikation
1 Datei geändert, 0 Einfügungen (+), 0 Löschungen (-)
Modus erstellen 100644 branch1.TXT
 
$ git checkout b2
 
Wechsel in Filiale 'b2'
 
$ Zweigstelle berühren2.TXT
 
$ git add -A
 
$ git commit -m "Branch2-Modifikation"
 
[b2 2abb723] Branch2-Änderung
1 Datei geändert, 0 Einfügungen (+), 0 Löschungen (-)
Modus erstellen 100644 branch2.TXT

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

$ git branch
 
b1
* b2
Meister
 
$ git branch -r
 
Herkunft/Meister

Wir können lokal sehen, dass wir drei Zweige master, b1 und b2 . haben. Aber wir haben nur den Master-Zweig im Remote-Repository.

4. Verzweigungen in ein Remote-Repository verschieben

Lassen Sie uns den b1-Zweig in das Remote-Repository verschieben:

$ git push origin b1
 
Objekte zählen: 2, fertig.
Delta-Komprimierung mit bis zu 4 Threads.
Komprimieren von Objekten: 100% (2/2), fertig.
Schreibende Objekte: 100% (2/2), 249 Byte | 0 Byte/s, fertig.
Gesamt 2 (Delta 0), wiederverwendet 0 (Delta 0)
An /Users/zakh/_work/LearnGIT/git_delete_branch/project.git
* [neue Niederlassung]      b1 -> b1

Sie können den Status der lokalen und entfernten Zweigstellen überprüfen:

$ git branch
 
b1
* b2
Meister
 
$ git branch -r
 
Herkunft/b1
Herkunft/Meister

Aus den obigen Zweigstellenstatus können wir sehen, dass die b1-Zweigstelle auch aus der Ferne verfügbar ist.

5. Filialen lokal löschen

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

git branch -d

Lassen Sie uns zuerst in den master-Zweig einchecken, damit wir die Zweige b1 und b2 löschen können.

$ git checkout master
 
Auf Zweig 'master' gewechselt
Ihre Filiale ist aktuell mit 'Herkunft/Master'.

Versuchen wir zuerst die Option -d, 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 dem Zweig b1 zusammenführen müssen. Dies ist eine Absicherung, damit Sie nicht versehentlich Ihre Arbeit an Filialen verlieren. Sie können die Option -D verwenden, um das Löschen der Zusammenführung zu erzwingen. Aber in diesem Fall lassen Sie uns die Änderungen von b1 und b2 in master zusammenführen und in das Remote-Repository übertragen push.

$ git merge b1
 
Aktualisieren von 81eb2a3… a2f488e
Schneller Vorlauf
Zweig1.txt | 0
1 Datei geändert, 0 Einfügungen (+), 0 Löschungen (-)
Modus erstellen 100644 branch1.TXT
 
$ git merge b2
 
Zusammenführung nach der 'rekursiven' Strategie.
Zweig2.txt | 0
1 Datei geändert, 0 Einfügungen (+), 0 Löschungen (-)
Modus erstellen 100644 branch2.TXT
 
$ git push origin master
 
Objekte zählen: 4, fertig.
Delta-Komprimierung mit bis zu 4 Threads.
Komprimieren von Objekten: 100% (4/4), fertig.
Schreibobjekte: 100% (4/4), 454 Byte | 0 Byte/s, fertig.
Gesamt 4 (Delta 1), wiederverwendet 0 (Delta 0)
An /Users/zak/_work/LearnGIT/git_delete_branch/project.git
81eb2a3… 34db496  Master -> Master

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

$ git branch
 
b1
b2
* Meister
 
$ git branch -d b1
 
Gelöschter Zweig b1 (vorher a2f488e).
 
$ git branch -d b2
 
Gelöschter Zweig b2 (vorher 2abb723).
 
$ git branch
 
* Meister

Sie haben die Filialen b1 und b2 erfolgreich lokal gelöscht.

6. Löschen von entfernten Zweigen

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

So können Sie den entfernten b1-Zweig mit folgendem löschen:

$ git push origin --delete b1
 
An /Users/zakh_eecs/_work/LearnGIT/git_delete_branch/project.git
- [gelöscht]         b1

Wenn Sie nun Ihre Remote-Branches überprüfen, sollten Sie b1 nicht mehr sehen:

$ git branch -r
 
Herkunft/Meister

Herzliche Glückwünsche! Sie haben alle von Ihnen erstellten Filialen erfolgreich gelöscht. Üben Sie, mehr Branches zu erstellen und zu löschen, um den Löschvorgang von Git-Zweigen zu meistern.

Weitere Studie:

  • https://git-scm.com/book/de/v1/Git-Branching-What-a-Branch-Ist
  • https://git-scm.com/book/de/v2/Git-Branching-Branches-in-a-Nutshell
  • https://git-scm.com/book/de/v2/Git-Branching-Basic-Branching-and-Merging
AppyMouse On-Screen Trackpad und Mauszeiger für Windows Tablets
Tablet-Benutzer vermissen oft den Mauszeiger, insbesondere wenn sie die Laptops gewohnt sind. Die Touchscreen-Smartphones und -Tablets bieten viele Vo...
Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...
So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...