Git

Git Branch-Grundlagen

Git Branch-Grundlagen

Grundlagen von Git Branching

Die Fähigkeit, sich einfach zu verzweigen, ist eine der besten Eigenschaften von Git. Das Erstellen von Verzweigungen in anderen Versionskontrollsystemen kann in Bezug auf Platz und Verarbeitungsaufwand teuer sein. Git-Branching ist effizient. Benutzer neigen also eher dazu, Branches in Git . zu verwenden.

Ein verzweigter Workflow

Nehmen wir an, du hast ein neues Projekt namens myvideogame gestartet. Es hat einen einzigen Zweig. Der Standardname des ersten Branchs in Git heißt master. Es wird automatisch erstellt.  Lass uns das myvideogame Git-Repository erstellen.

$ mkdir meinvideospiel
$ cd meinvideospiel
$ git init

Sie haben ein leeres Git-Repository erstellt. Fügen wir unser Design hinzu add.txt-Datei mit etwas Text darin.

$ echo "Designentscheidung 1: Bilder hinzufügen" >> design.TXT
$ echo "Entwurfsentscheidung 2: Code schreiben" >> design.TXT
$ git add -A
$ git commit -m "C0: Designdatei hinzugefügt"

Lassen Sie uns noch einige Änderungen hinzufügen:

$ echo "Design Decision 3: Test Game" >> design.TXT
$ git add -A
$ git commit -m "C1: Modifizierte Designdatei"

Wenn Sie den Verlauf überprüfen, finden Sie Folgendes:

$ git log --oneline
6a09bd6 C1: Modifizierte Konstruktionsdatei
5f18d89 C0: Designdatei hinzugefügt

Wenn Sie den Git-Status und alle erstellten Branches überprüfen (mit dem Befehl: git branch -a), sehen Sie:

$git-Status
Auf Zweigmeister
nichts zu begehen, Arbeitsverzeichnis sauber
 
$ git branch -a
* Meister

Aktuell haben Sie folgende Situation:

Du hast zwei Commits im Master-Branch gemacht.

Nehmen wir an, Sie haben beim Testen des Spiels Fehler gefunden, möchten das Problem jedoch nicht im Master-Zweig ansprechen, weil Sie sich noch nicht mit dem ursprünglichen Design herumschlagen möchten. So können Sie einen neuen Branch namens bugfix erstellen:

$ Git-Zweig-Bugfix

Wenn Sie nun alle Zweige überprüfen:

$ git branch -a
Fehlerbehebung
* Meister

Jetzt haben Sie einen neuen Zweig namens bugfix erstellt. Die Situation kann man sich so vorstellen:

Der Stern (*) neben dem Master-Zweig bedeutet jedoch, dass Sie sich noch im Master befinden. Wenn Sie Änderungen vornehmen, wird es immer noch in den Master-Zweig verschoben. Sie können den Checkout-Befehl verwenden, um Zweige zu ändern:

$ git checkout-Bugfix
Auf Zweig 'bugfix' umgestellt

Sie können mit dem Status- oder "branch -a"-Befehl überprüfen, welchen Branch Sie verwenden:

$git-Status
Auf Zweig-Bugfix
nichts zu begehen, Arbeitsverzeichnis sauber
 
$ git branch -a
* Fehlerbehebung
Meister

Beheben wir nun den Fehler:

$ echo "Bug Fix 1" >> Design.TXT
$ git add -A
$ git commit -m "C2: Fehler behoben 1"

Sie haben eine Situation wie diese geschaffen:

Der Master-Zweig hat nicht die C2-Änderung. Sie können dies leicht überprüfen, indem Sie die Historie der beiden Zweige überprüfen.

Zuerst die Geschichte des Bugfix-Zweigs:

$git-Status
Auf Zweig-Bugfix
nichts zu begehen, Arbeitsverzeichnis sauber
 
$ git log --oneline
e8f615b C2: Fehler behoben 1
6a09bd6 C1: Modifizierte Konstruktionsdatei
5f18d89 C0: Designdatei hinzugefügt

Dann können Sie zum Master-Branch wechseln und seinen Verlauf überprüfen:

$ git checkout master
Auf Zweig 'master' gewechselt
 
$git-Status
Auf Zweigmeister
nichts zu begehen, Arbeitsverzeichnis sauber
 
$ git log --oneline
6a09bd6 C1: Modifizierte Konstruktionsdatei
5f18d89 C0: Designdatei hinzugefügt

Sie können sehen, dass der Master-Zweig nicht die Änderungen aus dem Bugfix-Zweig enthält.

Sie können jederzeit eine neue Filiale aus der aktuellen Filiale erstellen, in der Sie sich befinden. Angenommen, Sie möchten einen weiteren Zweig erstellen, der experimentelle Funktionen enthält. Sie können den Branch aus dem Master erstellen und ihm experimentelle Funktionen hinzufügen:

$git-Status
Auf Zweigmeister
nichts zu begehen, Arbeitsverzeichnis sauber
 
$ git branch experimentell
$ git checkout experimentell
Zu Zweig "experimentell" gewechselt
$git-Status
Auf Zweig experimentell
nichts zu begehen, Arbeitsverzeichnis sauber
 
$ echo "Experimentfunktionen hinzufügen" >> design.TXT
 
$ git add -A
 
$ git commit -m "C3: Experimentelle Funktionen hinzugefügt"
[experimentell 637bc20] C3: Experimentelle Funktionen hinzugefügt
1 Datei geändert, 1 Einfügung (+)

Wenn Sie den Verlauf Ihres experimentellen Zweigs überprüfen, sehen Sie Folgendes:

$git-Status
Auf Zweig experimentell
nichts zu begehen, Arbeitsverzeichnis sauber
 
$ git log --oneline
637bc20 C3: Experimentelle Funktionen hinzugefügt
6a09bd6 C1: Modifizierte Konstruktionsdatei
5f18d89 C0: Designdatei hinzugefügt

Sie werden feststellen, dass Sie den C2-Commit nicht haben, der im Bugfix-Zweig erstellt wurde. Da der experimentelle Branch aus dem Master-Branch erstellt wird, werden die Bugfix-Änderungen nicht angezeigt. Sie haben folgende Situation:

Fazit

Herzliche Glückwünsche! Du hast gelernt zu verzweigen.

Git Branches sind einfach und schnell zu erstellen. Dies ist einer der Gründe für die Popularität von Git. Wenn Sie ein erfahrener Git-Benutzer werden möchten, müssen Sie sich mit Git-Branching vertraut machen.

Weitere Studie:

https://git-scm.com/book/de/v2/Git-Branching-Basic-Branching-and-Merging

Top 5 ergonomische Computermaus-Produkte für Linux
Verursacht längere Computernutzung Schmerzen im Handgelenk oder in den Fingern?? Leiden Sie unter steifen Gelenken und müssen ständig die Hände schütt...
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 ...