Git Branch -Grundlagen

Git Branch -Grundlagen

Grundlagen der Git -Verzweigung

Die Fähigkeit, leicht zu verzweigen, ist eine der besten Merkmale von Git. Das Erstellen von Filialen in anderen Versionskontrollsystemen kann hinsichtlich der Anforderungen an Platz und Verarbeitungsanforderungen teuer sein. Die Git -Verzweigung ist effizient. Die Benutzer neigen also anfälliger, Filialen in Git zu verwenden.

Ein verzweigter Workflow

Nehmen wir an, Sie haben ein neues Projekt namens MyVideogame gestartet. Es hat einen einzelnen Zweig. Der Standardname des Anfangszweigs in Git heißt Master. Es wird automatisch erstellt. Lassen Sie uns das MyVideogame Git -Repository erstellen.

$ mkdir myvideogame
$ cd myvideogame
$ git init

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

$ echo "Designentscheidung 1: Bilder hinzufügen" >> Design.txt
$ echo "Designentscheidung 2: Code schreiben" >> Design.txt
$ git add -a
$ Git Commit -m "C0: Entwurfsdatei hinzugefügt"

Fügen wir weitere Änderungen hinzu:

$ echo "Designentscheidung 3: Testspiel" >> Design.txt
$ git add -a
$ Git Commit -m "C1: Modifizierte Entwurfsdatei"

Wenn Sie den Geschichte überprüfen, finden Sie:

$ Git -Protokoll -Einmal
6A09BD6 C1: Modifizierte Entwurfsdatei
5f18d89 C0: Entwurfsdatei hinzugefügt

Wenn Sie den Git -Status und alle Zweige, die erstellt wurden, überprüfen (mit dem Befehl: Git -Zweig -A), sehen Sie:

$ Git Status
Auf Branch Master
Nichts zu begehen, Arbeitsverzeichnis sauber
$ Git Branch -a
* Meister

Derzeit haben Sie die folgende Situation:

Sie haben zwei Commits im Master -Zweig gemacht.

Nehmen wir an, Sie haben Fehler in Ihren Spieltests gefunden, aber Sie möchten das Problem in der Master -Filiale nicht angehen, da Sie sich noch nicht mit dem ursprünglichen Design anlegen möchten. Sie können also einen neuen Zweig namens Bugfix erstellen:

$ Git Branch Bugfix

Wenn Sie nun alle Zweige überprüfen:

$ Git Branch -a
Bug-Fix
* Meister

Jetzt haben Sie eine neue Filiale namens Bugfix erstellt. Die Situation kann so sichtbar gemacht werden:

Der Stern (*) neben dem Master -Zweig bedeutet jedoch, dass Sie sich noch im Meister befinden. Wenn Sie Änderungen vornehmen, geht es weiter in den Master -Zweig. Sie können mit dem Befehl Checkout die Zweige ändern:

$ git checkout bugfix
Auf Branch "Bugfix" umgestellt

Sie können überprüfen, welchen Zweig Sie mit dem Befehl Status oder "Zweig -A" verwenden:

$ Git Status
Auf Branch Bugfix
Nichts zu begehen, Arbeitsverzeichnis sauber
$ Git Branch -a
* Bug-Fix
Meister

Lassen Sie uns nun den Fehler beheben:

$ 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 die C2 -Änderung nicht. Sie können dies leicht überprüfen, indem Sie die Geschichte der beiden Zweige überprüfen.

Erstens die Geschichte des Bugfix -Zweigs:

$ Git Status
Auf Branch Bugfix
Nichts zu begehen, Arbeitsverzeichnis sauber
$ Git -Protokoll -Einmal
E8F615B C2: Fehler behoben 1
6A09BD6 C1: Modifizierte Entwurfsdatei
5f18d89 C0: Entwurfsdatei hinzugefügt

Anschließend können Sie in den Master -Zweig wechseln und seine Geschichte überprüfen:

$ Git Checkout Master
Zum Branch "Master" umgestellt
$ Git Status
Auf Branch Master
Nichts zu begehen, Arbeitsverzeichnis sauber
$ Git -Protokoll -Einmal
6A09BD6 C1: Modifizierte Entwurfsdatei
5f18d89 C0: Entwurfsdatei hinzugefügt

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

Sie können jederzeit einen neuen Zweig aus dem aktuellen Zweig aus erstellen, in dem Sie sich befinden. Nehmen wir an, Sie möchten einen weiteren Zweig erstellen, der experimentelle Merkmale enthält. Sie können den Zweig vom Master erstellen und experimentelle Funktionen hinzufügen:

$ Git Status
Auf Branch Master
Nichts zu begehen, Arbeitsverzeichnis sauber
$ Git Branch experimentell
$ git checkout experimental
Auf den Zweig "experimental" umgestellt
$ Git Status
Am Zweig experimentell
Nichts zu begehen, Arbeitsverzeichnis sauber
$ echo "Experiment -Funktionen hinzufügen" >> Design.txt
$ git add -a
$ Git Commit -m "C3: Experimentelle Merkmale hinzugefügt"
[Experimental 637BC20] C3: Experimentelle Merkmale hinzugefügt
1 Datei geändert, 1 Einfügung (+)

Wenn Sie die Geschichte Ihres experimentellen Zweigs überprüfen, sehen Sie:

$ Git Status
Am Zweig experimentell
Nichts zu begehen, Arbeitsverzeichnis sauber
$ Git -Protokoll -Einmal
637BC20 C3: Experimentelle Merkmale hinzugefügt
6A09BD6 C1: Modifizierte Entwurfsdatei
5f18d89 C0: Entwurfsdatei hinzugefügt

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

Abschluss

Glückwunsch! Sie haben gelernt, wie man verzweigt.

Git -Zweige sind einfach und schnell zu machen. Es ist einer der Gründe für Gits Popularität. Wenn Sie ein kompetenter Git -Benutzer werden möchten, müssen Sie die Git -Verzweigungen kompetent machen.

Weiteres Studium:

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