Der Befehl Git Push lädt Inhalte aus einem lokalen auf ein zentrales Re­po­si­to­ry hoch. Da dieser Command Än­de­run­gen über­schrei­ben kann, sollte er möglichst nur mit einem leeren Branch als Ziel aus­ge­führt werden.

KI-Assistent kostenlos – Ihr smarter All­tags­hel­fer
  • DSGVO-konform & sicher gehostet in Deutsch­land
  • Pro­duk­ti­vi­tät steigern – weniger Aufwand, mehr Output
  • Direkt im Browser starten – ohne In­stal­la­ti­on

Was ist Git Push?

Mit Git haben Sie die Mög­lich­keit, in Ruhe und ohne jedes Risiko an einem Projekt zu arbeiten, während gleich­zei­tig Ihre Team­mit­glie­der ebenfalls ihre je­wei­li­gen Aufgaben fort­füh­ren. Der Einsatz einzelner Re­po­si­to­ries macht es möglich. Wenn Sie dann al­ler­dings Ihre Än­de­run­gen ab­ge­schlos­sen haben und diese nun in das gesamte Projekt in­te­grie­ren möchten, hilft Ihnen der Git-Command Git Push. Mit diesem Befehl laden Sie Inhalte aus Ihrem lokalen Re­po­si­to­ry in das Remote Re­po­si­to­ry, auf das wiederum die anderen Ent­wick­le­rin­nen und Ent­wick­ler Zugriff haben. Git Push ist damit ein sehr wichtiges Werkzeug für das Gelingen Ihres Projekts.

Der Befehl funk­tio­niert dabei als Ge­gen­stück zu Git Fetch bzw. Git Pull. Während diese beiden Commands es Ihnen erlauben, Inhalte von einem Remote Re­po­si­to­ry auf Ihr lokales Re­po­si­to­ry zu ziehen, geht Git Push den Weg in die andere Richtung. Durch diese Befehle finden viele Ar­beits­schrit­te gleich­zei­tig statt – hierin un­ter­schei­det sich Git von SVN. Sind Ihre Än­de­run­gen ab­ge­schlos­sen, laden Sie diese dann einfach auf das Remote Re­po­si­to­ry. Wichtig ist dabei zu beachten, dass Git Push andere Än­de­run­gen über­schrei­ben kann. Der Command sollte dem­entspre­chend vor­sich­tig an­ge­wen­det werden.

Syntax und Funk­ti­ons­wei­se von Git Push

Die Syntax von Git Push ist schnell erklärt. Zunächst schreiben Sie den Befehl selbst, dann geben Sie das Remote Re­po­si­to­ry an und dahinter den lokalen Branch, den Sie hochladen möchten. Das sieht aus­ge­schrie­ben so aus:

git push <remote-repository> <lokaler-branch></lokaler-branch></remote-repository>

Git erstellt dann im Ziel-Re­po­si­to­ry einen lokalen Branch und lädt alle Inhalte, Commits und internen Objekte hoch. Als Schutz­funk­ti­on blockiert das Ver­si­ons­kon­troll­sys­tem den Git Push al­ler­dings, wenn das Hochladen nicht in einem Fast-Forward-Merge durch­ge­führt werden kann. So wird ver­hin­dert, dass Commits durch den Befehl ver­se­hent­lich über­schrie­ben werden.

Beispiel für Git Push

Im folgenden Beispiel zeigen wir Ihnen, wie ein Git Push in der Praxis aussieht. Dafür nehmen wir an, dass Sie in Ihrem lokalen Re­po­si­to­ry Än­de­run­gen vor­ge­nom­men, diese ausgiebig getestet und für gut befunden haben. Im nächsten Schritt sind diese Än­de­run­gen bereit für das Remote Re­po­si­to­ry, damit auch die anderen Mit­glie­der Ihres Teams Zugriff darauf haben. Dafür nutzen wir nun ver­schie­de­ne Befehle, die Sie im prak­ti­schen Git Cheat Sheet zum PDF-Download immer zur Hand haben.

git checkout main
git fetch origin main
git rebase -I origin/main
# Squash commits, fix up commit messages etc.
git push origin main

Über den Befehl Git Checkout wechseln wir zum Main-Branch. Mit Git Fetch stellen wir sicher, dass das lokale Re­po­si­to­ry dem Stand des zentralen Re­po­si­to­rys ent­spricht. Der Befehl Git Rebase führt den Stand des zentralen mit dem Ihres lokalen Re­po­si­to­rys zusammen. So ist es möglich, später einen Fast-Forward-Merge durch­zu­füh­ren, da die Basis des zentralen und des lokalen Repos gleich sind. Dann führen Sie den ei­gent­lich Git Push durch, der Ihren aktuellen Stand inklusive aller Än­de­run­gen an das zentrale Re­po­si­to­ry wei­ter­gibt.

Weitere Optionen des Befehls

Neben dem oben er­läu­ter­ten Standard-Befehl gibt es noch ver­schie­de­ne Argumente für Git Push.

Alle Branches hochladen

git push <remote-repository> --all</remote-repository>

Dieser Befehl ähnelt dem Standard, lädt al­ler­dings statt eines aus­ge­wähl­ten Branches direkt alle lokalen Branches in das zentrale Re­po­si­to­ry hoch. So müssen Sie diese Arbeit nicht Stück für Stück machen.

Tags hochladen

git push <remote-repository> --tags</remote-repository>

Mit dieser Option senden Sie alle lokalen Tags an das Remote Re­po­si­to­ry. Tags werden bei einem ge­wöhn­li­chen Git Push nicht be­rück­sich­tigt.

Git Push erzwingen

git push <remote-repository> --force</remote-repository>

Dieser Befehl ent­spricht der Standard-Version, führt den Git Push aber auch dann durch, wenn kein Fast-Forward-Merge möglich ist. Da dadurch das Risiko steigt, dass Sie Än­de­run­gen über­schrei­ben und so Probleme entstehen könnten, sollten Sie diese Variante nach Mög­lich­keit nicht einsetzen.

Git Push in einen leeres Re­po­si­to­ry

Um si­cher­zu­ge­hen, dass größere Projekte nicht durch Git Push be­schä­digt werden, ist es emp­feh­lens­wert, nur in leere Re­po­si­to­ries zu pushen. Diese erstellen Sie mit der Option „--bare“. Wenn Sie in leere Repos pushen, bleiben die Än­de­run­gen und Fort­schrit­te anderer Ent­wick­lerin­nern und Ent­wick­ler sowie die Struktur des Remote Re­po­si­to­rys unberührt.

Branches löschen mit Git Push

Sie können Git Push auch einsetzen, um einen Branch lokal und remote zu löschen. Der da­zu­ge­hö­ri­ge Befehl sieht so aus:

git branch -d alter_branch
git push origin :alter_branch

So löschen Sie den Branch „alter_branch“ aus dem Remote Re­po­si­to­ry.

Tipp

Deployen Sie Websites und Apps in nur drei Schritten online! Mit Deploy Now von IONOS pro­fi­tie­ren Sie von einem schnellen Setup und maximaler Ska­lier­bar­keit! Buchen Sie jetzt und testen Sie Deploy Now einen Monat lang kostenlos!

Zum Hauptmenü