SuppachokN - adobe

Git-Branches in ein entferntes Repository verschieben

Wie kann ein Entwickler den Code, den er in einem neu erstellten Git-Branch geschrieben hat, in ein entferntes GitHub-Repository übertragen? Wir zeigen die Vorgehensweise.

Unabhängig davon, ob man GitFlow, GitLab flow oder GitHub flow verwendet, sollte die gesamte lokale Softwareentwicklung in lokalen, isolierten Branches (Zweigen) erfolgen. Die Entwicklung auf Basis von Branches ermutigt Entwickler zum Experimentieren und zur Entdeckung innovativer Lösungen.

Doch wie kann ein Entwickler den Code, den er in einem neu erstellten Git-Branch geschrieben hat, in ein entferntes GitHub-Repository übertragen? Das ist nicht schwer. Sie müssen allerdings einen Git-Konfigurationsbefehl für den Upstream-Branch ausführen, bevor die Übertragung an das entfernte GitHub-Repository möglich ist.

Einen neuen Git-Branch in ein entferntes Repository verschieben

Um neue Git-Branches in ein entferntes Repository wie GitHub, GitLab oder Bitbucket zu verschieben, sind folgende Schritte erforderlich:

  1. Klonen Sie das entfernte Git-Repository lokal
  2. Erstellen Sie einen neuen Branch mit den Befehlen branch, switch oder checkout
  3. Führen Sie einen git push mit der Option -set-upstream durch, um das entfernte Repository für den neuen Branch festzulegen
  4. Führen Sie weiterhin lokale Git-Befehle für den neuen Branch aus
  5. Verwenden Sie den Befehl git push origin, wenn Sie den neuen Branch an den entfernten Server übertragen

Um einen neuen lokalen Branch zu erstellen, der in das entfernte GitHub-Repository übertragen wird, führen Sie einfach einen Git-Branch-, Switch- oder Checkout-Befehl aus. Es gibt viele Möglichkeiten, Branches in Git zu erstellen.

github@branch/c/remote/push (main)

git switch -c new-branch

Mit dem Befehl git branch -a wird überprüft, ob der neue Git-Branch, der an das entfernte GitHub-Repository übertragen werden soll, tatsächlich lokal erstellt wurde.

github@branch/c/remote/push (new-branch)

git branch -a

main

* new-branch

remotes/origin/HEAD -> origin/main

remotes/origin/main

remotes/origin/new-branch

Beachten Sie, dass in diesem Beispiel der git-switch-Befehl verwendet wird, um einen neuen Branch zu erstellen und zu verschieben, und nicht der git-checkout-Befehl. Der git-switch-Befehl hat checkout in einer Git-Version von 2020 ersetzt.

Neue Git-Branches und Upstream-Repositories

Wenn ein neuer Branch erstellt wurde, muss der -set-upstream-Switch bei der ersten Durchführung eines Push ausgeführt werden. Dieser Schritt teilt dem neuen Branch mit, welches entfernte Repository er bei jeder Synchronisierung seines Übergabeverlaufs verwenden soll.

github@branch/c/remote/push (new-branch)

$ git push -set-upstream origin new-branch

Enumerating objects: 3, done.

* [new branch] new-branch -> new-branch

Branch ‘new-branch’ set up to track remote branch ‘new-branch’ from ‘origin’.

Wenn der Schritt -set-upstream nicht ausgeführt wird, schlägt der Push des neuen Branch in das entfernte Repository mit folgendem Fehler fehl:

fatal: The current branch has no upstream branch

Neuen Git-Branch auf GitHub veröffentlichen

Eine kurze Aktualisierung der Landing Page des Projekts auf GitHub zeigt, dass der neue Git-Branch erfolgreich an das entfernte Projekt übertragen wurde.

Abbildung 1: Der set-upstream Switch wird beim ersten Push eines neuen Git-Branch an ein entferntes GitHub-Repository benötigt.
Abbildung 1: Der set-upstream Switch wird beim ersten Push eines neuen Git-Branch an ein entferntes GitHub-Repository benötigt.

Sobald das entfernte GitHub-Repository als Upstream-Ziel für den neuen Git-Branch festgelegt ist, können Push- und Pull-Vorgänge ganz normal mit einem einfachen git push origin-Befehl durchgeführt werden.

Laufende Push- und Pull-Befehle für GitHub

Der vollständige Satz der in diesem Beispiel verwendeten Befehle lautet wie folgt

github@branch/c/remote/push  (new-branch)

git clone https://github.com/learn-git-fast/git-branch-examples.git

cd git*

git checkout -b new-branch

github@branch/c/remote/push (new-branch)

git branch -a

touch devolution.jpg

git add .

git commit -m "Are we not gender neutral people? We are Devo?"

git push --set-upstream origin new-branch

github@branch/c/remote/push (new-branch)

touch eden.html

git add .

git commit -m "Eden added"

git push origin

Erfahren Sie mehr über Softwareentwicklung

ComputerWeekly.de
Close