Git

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

Grundlagen des Zusammenführens und Löschens von Git-Branches
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, 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-Status
Auf 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 master
Auf Zweig 'master' gewechselt
 
$git-Status
Auf Zweigmeister
nichts zu begehen, Arbeitsverzeichnis sauber

Lassen Sie uns nun die Zusammenführung erstellen:

$ git Merge-Funktionen

Wenn 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-Status
Auf 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 -a
Eigenschaften
* 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

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:

So ändern Sie die Maus- und Touchpad-Einstellungen mit Xinput in Linux
Die meisten Linux-Distributionen werden standardmäßig mit der Bibliothek „libinput“ ausgeliefert, um Eingabeereignisse auf einem System zu verarbeiten...
Weisen Sie Ihre Maustasten mit der X-Mouse Button Control für verschiedene Software unterschiedlich zu
Vielleicht benötigen Sie ein Tool, mit dem sich die Steuerung Ihrer Maus bei jeder von Ihnen verwendeten Anwendung ändern kann. In diesem Fall können ...
Microsoft Sculpt Touch Wireless-Maus Bewertung
Ich habe vor kurzem gelesen, dass Microsoft Sculpt Touch kabellose Maus und beschloss, sie zu kaufen. Nachdem ich es eine Weile benutzt hatte, beschlo...