Hallo, Entdecker! An dieser Seite wird aktiv gearbeitet, oder sie wird noch übersetzt. Die neuesten und genauesten Informationen findest Du in unserer englischsprachigen Dokumentation.
GitHub AE is currently under limited release. Please contact our Sales Team to find out more.

Commits per Push-Vorgang an ein Remote-Repository übertragen

Mit „git push“ kannst Du Commits, die auf Deinem lokalen Branch erstellt wurden, an ein Remote-Repository pushen.

Inhalt dieses Artikels

Der Befehl git push hat zwei Argumente:

  • einen Remote-Namen, z. B. origin
  • einen Branch-Namen, z. B. master

Ein Beispiel:

git push  <REMOTENAME> <BRANCHNAME> 

Ein Beispiel: Normalerweise führst Du git push origin master aus, um Deine lokalen Änderungen an Dein Online-Repository zu übertragen.

Branches umbenennen

Um einen Branch umzubenennen, verwendest Du den gleichen git push-Befehl, aber in diesem Fall fügst Du ein weiteres Argument hinzu: den Namen des neuen Branches. Ein Beispiel:

git push  <REMOTENAME> <LOCALBRANCHNAME>:<REMOTEBRANCHNAME> 

Dadurch wird der LOCALBRANCHNAME an Deinen REMOTENAME übertragen, aber er wird umbenannt in REMOTEBRANCHNAME.

„Non-Fast-Forward“-Fehler handhaben

Wenn Deine lokale Kopie eines Repositorys nicht mit dem vorgelagerten Repository synchronisiert ist, an das Du überträgst, erhältst Du die Meldung non-fast-forward updates were rejected ('non-fast-forward'-Aktualisierungen wurden zurückgewiesen). Das bedeutet, dass Du die vorgelagerten Änderungen abrufen musst, bevor Du Deine lokalen Änderungen übertragen kannst.

Weitere Informationen zu diesem Fehler findest Du unter „Non-Fast-Forward-Fehler handhaben.“

Tags pushen

Standardmäßig und ohne zusätzliche Parameter sendet git push alle entsprechenden Branches, die den gleichen Namen wie Remote-Branches haben.

Um ein einzelnes Tag zu übertragen, kannst Du den gleichen Befehl wie beim Push eines Branches ausführen:

git push  <REMOTENAME> <TAGNAME> 

Zum Pushen aller Deiner Tags kannst Du folgenden Befehl eingeben:

git push  <REMOTENAME> --tags

Einen Remote-Branch oder ein Tag löschen

Die Syntax zum Löschen eines Branches ist auf den ersten Blick etwas irreführend:

git push  <REMOTENAME> :<BRANCHNAME> 

Beachte, dass vor dem Doppelpunkt ein Leerzeichen steht. Der Befehl ähnelt den gleichen Schritten, die Du beim Umbenennen eines Branches ausführst. Hier befiehlst Du Git jedoch, nichts in BRANCHNAME an REMOTENAME zu übertragen. Aus diesem Grund löscht git push den Branch im Remote-Repository.

Remotes und Forks

Du weißt vielleicht schon, dass Du auf GitHub Repositorys „forken“ kannst.

Wenn Du ein eigenes Repository klonst, stellst Du ihm eine Remote-URL zur Verfügung, die Git wissen lässt, wo Aktualisierungen abgerufen und gepusht werden sollen. Wenn Du mit dem ursprünglichen Repository zusammenarbeiten möchtest, füge Deinem lokalen Git-Klon eine neue Remote-URL hinzu, die typischerweise upstream genannt wird:

git remote add upstream  <THEIR_REMOTE_URL> 

Nun kannst Du Updates und Branches aus deren Fork abrufen:

git fetch upstream
# Rufe die Branches des vorgelagerten Remotes ab
> 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]      master     -> upstream/master

Wenn Du mit den lokalen Änderungen fertig bist, kannst Du Deinen lokalen Branch an GitHub übertragen und einen Pull Request initiieren.

Weitere Informationen zur Arbeit mit Forks findest Du unter „Fork synchronisieren“.

Weiterführende Informationen

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Oder, learn how to contribute.