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.txtFügen wir weitere Änderungen hinzu:
$ echo "Designentscheidung 3: Testspiel" >> Design.txtWenn 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.
https: // git-scm.com/book/en/v2/git-branchierend-basischem Branchieren und Merken