Grundlagen des Zusammenführens und Löschens von Git-Branches

Basics Git Merging



Verzweigungen können Ihnen helfen, Ihre Arbeit zu organisieren. Sie müssen jedoch in der Lage sein, Ihre Arbeit zusammenzuführen, um die Arbeit kohärent zu machen. Wenn Sie die Branches nie zusammenführen und löschen, wird Ihr Verlauf möglicherweise zu chaotisch, um ihn zu verstehen.

Arbeiten mit Zusammenführen und Verzweigungslöschen

Lassen Sie uns zuerst einen Master-Branch erstellen, einige Commits einfügen, einen neuen Branch namens features erstellen, ein paar Commits hinzufügen, dann zum Master zurückkehren und erneut einen Commit durchführen. Hier die Befehle:







$mkdirmein Spiel
$CDmein Spiel
$git init
$rauswerfen 'Designentscheidung 1: Brainstarm' >>design.txt
$git hinzufügen -ZU
$git-commit -m 'C0: Gestartetes Projekt'
$rauswerfen 'Designentscheidung 2: Code schreiben' >>design.txt
$git hinzufügen -ZU
$git-commit -m 'C1: Eingesendeter Code'
$Git-ZweigMerkmale
$git KasseMerkmale
$rauswerfen 'Funktion 1 hinzufügen' >>feature.txt
$git hinzufügen -ZU
$git-commit -m 'C2: Merkmal 1'
$rauswerfen 'Funktion 2 hinzufügen' >>feature.txt
$git hinzufügen -ZU
$git-commit -m 'C3: Merkmal 2'
$git KasseMeister
$rauswerfen 'Master wieder modifizieren' >>design.txt
$git hinzufügen -ZU
$git-commit -m 'C4: Master modifiziert'

Die obigen Befehle haben die folgende Situation geschaffen:





Sie können den Verlauf der beiden Zweige überprüfen, um zu sehen, welche Commits sie haben:





$Git-Status
Auf Zweigmeister
nichts zu begehen, Arbeitsverzeichnis sauber
$git log --eine Linie
2031b83 C4: Master modifiziert
1c0b64c C1: Eingereichter Code

$git KasseMerkmale
Zur Filiale gewechselt'Merkmale'

$git log --eine Linie
93d220b C3: Funktion2
ad6ddb9 C2: Funktion1
1c0b64c C1: Eingereichter Code
ec0fb48 C0: Projekt gestartet

Nehmen wir nun an, Sie möchten alle Änderungen aus dem Features-Branch in unseren Master-Branch übernehmen. Sie müssen den Vorgang am Ziel der Zusammenführung starten. Da wir in den Master-Branch zusammenführen möchten, müssen Sie den Prozess von dort aus initiieren. Schauen wir uns also den Master-Zweig an:

$git KasseMeister
Zur Filiale gewechselt'Meister'

$Git-Status
Auf Zweigmeister
nichts zu begehen, Arbeitsverzeichnis sauber

Jetzt erstellen wir die Zusammenführung:



$git zusammenführenMerkmale

Wenn bei der Zusammenführung keine Konflikte auftreten, wird ein Texteditor mit den Kommentaren geöffnet:

Filiale zusammenführen'Merkmale'

# Bitte geben Sie eine Commit-Nachricht ein, um zu erklären, warum diese Zusammenführung notwendig ist.
# vor allem, wenn es einen aktualisierten Upstream in einen Topic-Branch einfügt.
#
# Zeilen, die mit '#' beginnen, werden ignoriert und eine leere Nachricht wird abgebrochen
# das Commit.

Sie können die Kommentare ändern oder die Standardkommentare übernehmen. Die Zusammenführungsausgabe sollte folgende Ergebnisse anzeigen:

Zusammenführen von der'rekursiv'Strategie.
feature.txt| 2++
1 Dateigeändert,2Einfügungen(+)
Modus erstellen100644feature.txt

Nach der Zusammenführung haben Sie die folgende Bedingung:

Wenn Sie die Protokolle überprüfen, finden Sie:

$Git-Status
Auf Zweigmeister
nichts zu begehen, Arbeitsverzeichnis sauber

$git log --eine Linie
46539a3 C5: Zweigstelle zusammenführen'Merkmale'
2031b83 C4: Master modifiziert
93d220b C3: Funktion2
ad6ddb9 C2: Funktion1
1c0b64c C1: Eingereichter Code
ec0fb48 C0: Projekt gestartet

Sie haben die Änderungen erfolgreich zusammengeführt. Der Feature-Zweig ist jedoch weiterhin vorhanden.

$Git-Zweig -zu
Merkmale
*Meister

Sie können es mit dem folgenden Befehl löschen:

$Git-Zweig -DMerkmale

Wenn Sie jetzt überprüfen, sollten Sie nur den Master-Zweig sehen:

$Git-Zweig -zu
*Meister

Abschluss

Stellen Sie sicher, dass Sie regelmäßig nach ungenutzten Zweigen suchen und diese löschen. Sie möchten Ihr Repository sauber halten, damit es leicht zu navigieren und zu verstehen ist.

Weiterlesen: