Grundlagen von Git -Zusammenführungen und Löschen von Zweigen

Grundlagen von Git -Zusammenführungen und Löschen von Zweigen
Abzweigung kann Ihnen helfen, Ihre Arbeit organisiert zu halten. Sie müssen jedoch in der Lage sein, Ihre Arbeit zusammenzuführen, um die Arbeit kohärent zu machen. Wenn Sie die Zweige niemals verschmelzen und löschen, könnte Ihre Geschichte zu chaotisch werden, um sie zu verstehen.

Arbeiten mit Verschmelzung und Branch löschen

Erstellen wir zunächst eine Master -Zweigstelle, geben Sie ein paar Commits ein, erstellen Sie eine neue Zweigstelle namens Features, fügen Sie ein paar Commits hinzu und kehren Sie dann wieder zu Master und verpflichten Sie sich wieder. Hier sind die Befehle:

$ mkdir mygame
$ cd mygame
$ git init
$ echo "Entwurfsentscheidung 1: Brainstarm" >> Design.txt
$ git add -a
$ Git Commit -m "C0: Start Project"
$ echo "Designentscheidung 2: Code schreiben" >> Design.txt
$ git add -a
$ Git Commit -m "C1: eingereichterer Code"
$ Git Branch Funktionen
$ git Checkout -Funktionen
$ echo "Feature 1" >> Funktion.txt
$ git add -a
$ Git Commit -m "C2: Feature 1"
$ echo "Feature 2" >> Funktion.txt
$ git add -a
$ Git Commit -m "C3: Feature 2"
$ Git Checkout Master
$ echo "Master Master erneut" >> Design.txt
$ git add -a
$ Git Commit -m "C4: Master Modified"

Die obigen Befehle erstellten die folgende Situation:

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

$ Git Status
Auf Branch Master
Nichts zu begehen, Arbeitsverzeichnis sauber
$ Git -Protokoll -Einmal
2031b83 C4: Master Modified
1C0B64C C1: eingereichterer Code
$ git Checkout -Funktionen
Auf Branch "Funktionen" umgeschaltet
$ Git -Protokoll -Einmal
93D220B C3: Feature 2
AD6DDB9 C2: Feature 1
1C0B64C C1: eingereichterer Code
EC0FB48 C0: Projekt gestartet

Nehmen wir nun an, Sie möchten alle Änderungen von der Features -Zweigstelle zu unserem Master -Zweig bringen. Sie müssen den Prozess vom Ziel der Zusammenführung aus starten. Da wir uns in den Master -Zweig verschmelzen wollen, müssen Sie den Prozess von dort aus initiieren. Schauen wir uns also den Master -Zweig an:

$ Git Checkout Master
Zum Branch "Master" umgestellt
$ Git Status
Auf Branch Master
Nichts zu begehen, Arbeitsverzeichnis sauber

Lassen Sie uns nun die Zusammenführung erstellen:

$ git merge Funktionen

Wenn die Zusammenführung keine Konflikte gibt, erhalten Sie einen Texteditor mit den Kommentaren:

Merge Branch 'Funktionen'
# Bitte geben Sie eine Commit -Nachricht ein, um zu erklären, warum diese Zusammenführung erforderlich ist,
# vor allem, wenn es einen aktualisierten Upstream in eine Themenabteilung verschmilzt.
#
# Zeilen, die mit '#' beginnen, werden ignoriert, und eine leere Nachricht abbricht
# Das Commit.

Sie können die Kommentare ändern oder die Standards akzeptieren. Die Zusammenführungsausgabe sollte solche Ergebnisse zeigen:

Zusammenführen durch die "rekursive" Strategie.
Besonderheit.txt | 2 ++
1 Datei geändert, 2 Einfügungen (+)
Erstellen Sie die Funktion des Modus 100644.txt

Nach der Zusammenführung haben Sie die folgende Bedingung:

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

$ Git Status
Auf Branch Master
Nichts zu begehen, Arbeitsverzeichnis sauber
$ Git -Protokoll -Einmal
46539A3 C5: Merge Branch 'Funktionen'
2031b83 C4: Master Modified
93D220B C3: Feature 2
AD6DDB9 C2: Feature 1
1C0B64C C1: eingereichterer Code
EC0FB48 C0: Projekt gestartet

Sie haben die Änderungen erfolgreich verschmolzen. Der Feature -Zweig ist jedoch noch vorhanden.

$ Git Branch -a
Merkmale
* Meister

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

$ Git Branch -D -Funktionen

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

$ Git Branch -a
* Meister

Abschluss

Stellen Sie sicher, dass Sie regelmäßig nach ungenutzten Zweigen suchen und sie löschen. Sie möchten Ihr Repository sauber halten, um das Navigieren und Verständnis zu erleichtern.

Weitere Lektüre:

  • https: // git-scm.com/book/en/v2/git-branchierend-basischem Branchieren und Merken