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 KasseMeisterZur 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-StatusAuf 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 -zuMerkmale
*Meister
Sie können es mit dem folgenden Befehl löschen:
$Git-Zweig -DMerkmaleWenn 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.