Git Show Remote -Zweige

Git Show Remote -Zweige
Die Fähigkeit von Git, Filialen einfach zu erstellen, ist eine großartige Funktion. Im Umgang mit lokalen und abgelegenen Zweigen kann es jedoch ein bisschen kompliziert werden. Lassen Sie uns eine Situation einrichten, in der wir unser eigenes Git -Repository erstellen, das sich wie ein Remote -Repo verhalten wird. Dann werden wir Filialen für unser Remote -Repository von Project_Source erstellen und verpflichten. Danach klonen wir das Remote -Repository und spielen mit den Zweigen. Die Übung sollte Ihnen auch eine Vorstellung davon geben, wie entfernte Repositorys wie Github und Bitbucket arbeiten. Sie können es wie folgt visualisieren:

Beginnen wir mit dem Git -Repository. Wir erstellen einen Ordner namens Project.Git und initialisieren Sie es, um das Remote -Repository zu werden:

$ mkdir Projekt.Git
$ CD -Projekt.Git/
$ git init -barbar
Initialisierte leere Git -Repository in/user/zakh_eecs/_work/lerngit/git_remote_repository/
Projekt.Git/

Gehen Sie nun zu einem neuen Ort, an dem Sie einen sauberen Ordner erstellen können. Erstellen Sie den Ordner Project_Source und initialisieren Sie es für Git:

$ mkdir project_source
$ cd project_source
$ git init
Initialisierte leere Git -Repository in/user/zakh_eecs/_work/lerngit/git_branching_source/
project_source/.Git/
$ touch Readme.txt
$ git add -a
$ Git Commit -m "Erstes Commit"
[Master (Root-Commit) 176134f] Erstes Commit
1 Datei geändert, 0 Insertionen (+), 0 Löschungen (-)
Erstellen Sie den Modus 100644 Readme.txt

Das Project_Setup ist ein Git -Verzeichnis mit Readme.TXT -Datei. Es ist jedoch nicht mit unserem Remote -Repository verbunden. Lassen Sie uns ein Projekt einrichten.Git ist das Remote -Repository für Project_Source. Wir können dies durch den folgenden Befehl erreichen:

$ git remote hinzufügen Origin/Benutzer/zakh_eecs/_work/lerngit/git_remote_repository/project hinzufügen.Git
$ Git Push Origin Master
Zählen von Objekten: 3, erledigt.
Schreibobjekte: 100% (3/3), 213 Bytes | 0 Bytes/s, fertig.
Gesamt 3 (Delta 0), wiederverwendet 0 (Delta 0)
To/user/zakh_eecs/_work/lerngit/git_remote_repository/project.Git
* [neuer Zweig] Master -> Master

Mit dem Befehl git remote hinzufügen haben wir die Verbindung zwischen dem Projekt erstellt.Git und Project_Source. Mit dem Befehl Git Push Origin Master haben wir unseren Master -Zweig zum Remote -Repository gedrückt.

Überprüfen wir unsere Zweige (immer noch im Ordner project_source):

$ Git Branch
* Meister
$ git branch -r
Herkunft/Meister
$ Git Branch -a
* Meister
Fernbedienungen/Herkunft/Master

Der erste Befehl zeigt nur den lokalen Zweig. Die Option -r zeigt den Remote -Zweig an. Und die Option -A zeigt sowohl lokale als auch Fernbedienung an.

Lassen Sie uns ein paar Zweige in unserem Arbeitsverzeichnis erstellen:

$ Git Branchentwicklung
$ Git Branch Hotfix
$ Git Branch experimentell
$ Git Branch -a
Entwicklung
Experimental-
Hotfix
* Meister
Fernbedienungen/Herkunft/Master

Wir haben Zweige genannt, die als Development, Hotfix und Experimental bezeichnet werden. Sie werden in unserer lokalen Zweigliste angezeigt. Aber in den Fernbedienungen/Herkunft gibt es nur einen Master -Zweig, weil dies der einzige ist, den wir geschoben haben. Der Stern (*) Master bedeutet, dass wir uns noch im lokalen Master -Zweig befinden. Lassen Sie uns in den Entwicklungszweig gehen, Änderungen begehen und diese Änderungen in das Remote -Repository weitergeben.

$ Git Checkout -Entwicklung
Auf Branch "Entwicklung" umgestellt
$ echo ABC> Readme.txt
$ git add -a
$ Git Commit -m "Modifizierte Entwicklungszweig" "
[Entwicklung DD9933E] Modifizierte Entwicklungszweig
1 Datei geändert, 1 Einfügung (+)
$ Git Push Origin Development
Zählen von Objekten: 3, erledigt.
Schreibobjekte: 100% (3/3), 257 Bytes | 0 Bytes/s, fertig.
Gesamt 3 (Delta 0), wiederverwendet 0 (Delta 0)
To/user/zakh_eecs/_work/lerngit/git_remote_repository/project.Git
* [New Zweig] Entwicklung -> Entwicklung

Überprüfen Sie jetzt alle Zweige:

$ Git Branch -a
* Entwicklung
Experimental-
Hotfix
Meister
Fernbedienungen/Herkunft/Entwicklung
Fernbedienungen/Herkunft/Master

Wir sehen, dass wir in der lokalen Entwicklungszweig sind, aber es gibt auch eine Fernentwicklungszweig. Als wir unsere Veränderungen mit der Entwicklung von Git -Push -Ursprung verschoben haben, schuf es den Entwicklungszweig in Fernbedienungen/Herkunft.

Lassen Sie uns jetzt aus dem Projekt project_source verlassen und einen neuen Ort finden, an dem wir einen neuen Ordner haben können. Hier klonen wir das Remote -Repository mit dem folgenden Befehl:

$ git klone/user/zakh_eecs/_work/lerngit/git_remote_repository/project.Git
In "Projekt" klonen ..
Erledigt.

Wir haben eine neue Kopie namens Project From Project geklont.Git. Gehen Sie in den Projektordner und überprüfen Sie die Zweige:

$ CD -Projekt
$ Git Branch
* Meister

Wenn Git einen anfänglichen Klon aus einem Remote -Repository herstellt, erhält er nur den Master -Zweig. Wenn wir die Option -A verwenden, sehen wir:

$ Git Branch -a
* Meister
Fernbedienungen/Herkunft/Kopf -> Ursprung/Master
Fernbedienungen/Herkunft/Entwicklung
Fernbedienungen/Herkunft/Master

Beachten Sie, dass es keine lokale Entwicklungszweig gibt. Außerdem haben wir nie Hotfix- und experimentelle Zweige von Project_Source zu Projekt überschritten.Git, also sehen wir sie nicht. Das Remote -Repository verfügt über Master- und Entwicklungszweige (Fernbedienungen/Ursprung/Kopf -> Ursprung/Master ist kein Zweig, sondern sagt nur, wohin der Kopf zeigt).

Lassen Sie uns den Entwicklungszweig in unser Arbeitsumfeld bringen:

$ git fetch -alle
Ursprung holen
$ Git Checkout -Entwicklung
Zweigentwicklung eingerichtet.
Wechselte auf eine neue Zweigentwicklung "Entwicklung"

Wenn Sie eine ältere Version von Git verwenden, müssen Sie möglicherweise verwenden:

$ Git Checkout -Entwicklung Herkunft/Entwicklung

Wenn wir den Branch -Befehl verwenden, erhalten wir:

$ Git Branch -a
* Entwicklung
Meister
Fernbedienungen/Herkunft/Kopf -> Ursprung/Master
Fernbedienungen/Herkunft/Entwicklung
Fernbedienungen/Herkunft/Master

Wir können Änderungen am Entwicklungszweig vornehmen, die Änderungen begehen und sie dann mit dem Befehl Git Push Origin Development weitergeben.

Abschließend

Wenn Sie mit GitHub und Bitbucket arbeiten. Sie setzen also Ihren Ursprung auf diese Links ein. Aber die Prinzipien des abgelegenen Zweigs sind die gleichen wie hier beschrieben.

Weiteres Studium:

  • https: // git-scm.com/docs/git-branch
  • https: // git-scm.com/book/en/v2/git-on-the-server-setzend-server
  • https: // help.Github.com/artikel/adding-existing-project-to-Github-use-the-Command-Line/
  • https: // help.Github.com/artikel/pushing-to-a-remote/