Informationen zum git push
Der Befehl git push akzeptiert zwei Argumente:
- Einen Remote-Name (beispielsweise
origin) - Einen Branchnamen (z. B.
main)
Beispiel:
git push REMOTE-NAME BRANCH-NAME
Als Beispiel führst du in der Regel git push origin main aus, um deine lokalen Änderungen an dein Onlinerepository zu pushen.
Branches umbenennen
Um einen Branch umzubenennen, verwendest du den gleichen Befehl git push, fügst aber in diesem Fall ein weiteres Argument hinzu: den Namen des neuen Branches. Beispiel:
git push REMOTE-NAME LOCAL-BRANCH-NAME:REMOTE-BRANCH-NAME
Dadurch wird der LOCAL-BRANCH-NAME an deinen REMOTE-NAME gepusht, aber in REMOTE-BRANCH-NAME umbenannt.
„Non-Fast-Forward“-Fehler handhaben
Wenn deine lokale Kopie eines Repositorys mit dem Upstream-Repository, zu dem du pushst, nicht synchronisiert ist oder hinterherhinkt, erhältst du die Meldung non-fast-forward updates were rejected.
Das bedeutet, dass du die Änderungen im Upstream-Repository abrufen (fetchen) musst, bevor du deine lokalen Änderungen "pushen" kannst.
Weitere Informationen zu diesem Fehler findest du unter Non-Fast-Forward-Fehler handhaben.
Tags verschieben
Standardmäßig und ohne zusätzliche Parameter sendet git push alle übereinstimmenden Zweige, die denselben Namen wie entfernte Zweige haben.
Um ein einzelnes Tag zu übertragen, kannst du den gleichen Befehl wie beim Push eines Branches ausführen:
git push REMOTE-NAME TAG-NAME
Zum Pushen aller deiner Tags kannst du folgenden Befehl eingeben:
git push REMOTE-NAME --tags
Einen Remote-Branch oder ein Tag löschen
Die Syntax zum Löschen eines Branches ist auf den ersten Blick etwas geheimnisvoll:
git push REMOTE-NAME :BRANCH-NAME
Beachte, dass vor dem Doppelpunkt ein Leerzeichen steht. Der Befehl ähnelt den Schritten, die du beim Umbenennen eines Branches ausführst. Hier weist du Git jedoch an, nichts in BRANCH-NAME auf REMOTE-NAME zu pushen. Aus diesem Grund löscht git push den Branch im Remote-Repository.
Remotes und Forks
Möglicherweise wissen Sie bereits, dass Sie Repositorys auf GitHub "forken" können.
Wenn du ein eigenes Repository klonst, gibst du dafür eine Remote-URL an, die Git mitteilt, wo Updates gefetcht und gepusht werden sollen. Wenn du mit dem ursprünglichen Repository zusammenarbeiten möchtest, fügst du deinem lokalen Git-Klon eine neue Remote-URL hinzu, die normalerweise mit upstream bezeichnet wird:
git remote add upstream THEIR_REMOTE_URL
Nun kannst du Updates und Branches aus ihrem Fork fetchen:
git fetch upstream
# Grab the upstream remote's branches
> remote: Counting objects: 75, done.
> remote: Compressing objects: 100% (53/53), done.
> remote: Total 62 (delta 27), reused 44 (delta 9)
> Unpacking objects: 100% (62/62), done.
> From https://HOSTNAME/OCTOCAT/REPO
> * [new branch] main -> upstream/main
Wenn Sie mit lokalen Änderungen fertig sind, können Sie Ihren lokalen Zweig an GitHub übertragen und itiieren sie eine Pullanforderung.
Weitere Informationen zum Arbeiten mit Forks findest du unter Einen Fork synchronisieren.
Weiterführende Lektüre
-
[Kapitel „Remotes“ im Buch „Pro Git“](https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes) -
[ `git remote` Hauptseite](https://git-scm.com/docs/git-remote.html) -
[AUTOTITLE](/get-started/git-basics/git-cheatsheet) -
[AUTOTITLE](/get-started/git-basics/git-workflows) -
[Git-Handbuch](https://guides.github.com/introduction/git-handbook/)