Arbeiten mit Zusammenführen und Verzweigungslöschen
Lassen Sie uns zuerst einen Master-Branch erstellen, ein paar 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:
$ mkdir mygame$ cd mygame
$ git init
$ echo "Designentscheidung 1: Brainstarm" >> design.TXT
$ git add -A
$ git commit -m "C0: Gestartetes Projekt"
$ echo "Entwurfsentscheidung 2: Code schreiben" >> design.TXT
$ git add -A
$ git commit -m "C1: Eingereichter Code"
$ git branch-Funktionen
$ git Checkout-Funktionen
$ echo "Funktion 1 hinzufügen" >> Funktion.TXT
$ git add -A
$ git commit -m "C2: Funktion 1"
$ echo "Funktion 2 hinzufügen" >> Funktion.TXT
$ git add -A
$ git commit -m "C3: Funktion 2"
$ git checkout master
$ echo "Master erneut modifizieren" >> design.TXT
$ git add -A
$ 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-StatusAuf Zweigmeister
nichts zu begehen, Arbeitsverzeichnis sauber
$ git log --oneline
2031b83 C4: Master modifiziert
1c0b64c C1: Eingereichter Code
$ git Checkout-Funktionen
Auf Zweig "Features" umgestellt
$ git log --oneline
93d220b C3: Funktion 2
ad6ddb9 C2: Funktion 1
1c0b64c C1: Eingereichter Code
ec0fb48 C0: Projekt gestartet
Nehmen wir nun an, Sie möchten alle Änderungen aus dem Features-Zweig in unseren Master-Zweig ü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 checkout masterAuf Zweig 'master' gewechselt
$git-Status
Auf Zweigmeister
nichts zu begehen, Arbeitsverzeichnis sauber
Lassen Sie uns nun die Zusammenführung erstellen:
$ git Merge-FunktionenWenn bei der Zusammenführung keine Konflikte auftreten, wird ein Texteditor mit den Kommentaren geöffnet:
'Features' des Zweiges zusammenführen# 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 Themenzweig 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 akzeptieren. Die Zusammenführungsausgabe sollte folgende Ergebnisse anzeigen:
Zusammenführung nach der 'rekursiven' Strategie.Feature.txt | 2 ++
1 Datei geändert, 2 Einfügungen(+)
Modus 100644 erstellen.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 --oneline
46539a3 C5: Zweig-'Features' zusammenführen
2031b83 C4: Master modifiziert
93d220b C3: Funktion 2
ad6ddb9 C2: Funktion 1
1c0b64c C1: Eingereichter Code
ec0fb48 C0: Projekt gestartet
Sie haben die Änderungen erfolgreich zusammengeführt. Der Feature-Zweig ist jedoch weiterhin vorhanden.
$ git branch -aEigenschaften
* Meister
Sie können es mit dem folgenden Befehl löschen:
$ git branch -d FunktionenWenn Sie jetzt überprüfen, sollten Sie nur den Master-Zweig sehen:
$ git branch -a* Meister
Fazit
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:
- https://git-scm.com/book/de/v2/Git-Branching-Basic-Branching-and-Merging