Git Push: Änderungen in das zentrale Repository laden

Der Befehl Git Push lädt Inhalte aus einem lokalen auf ein zentrales Repository hoch. Da dieser Command Änderungen überschreiben kann, sollte er möglichst nur mit einem leeren Branch als Ziel ausgeführt werden.

Mehr als nur eine Domain!

Hier finden Sie Ihre perfekte Domain - z.B. .de Domain + persönlicher Berater

E-Mail-Postfach
24/7 Support
Wildcard SSL

Was ist Git Push?

Mit Git haben Sie die Möglichkeit, in Ruhe und ohne jedes Risiko an einem Projekt zu arbeiten, während gleichzeitig Ihre Teammitglieder ebenfalls ihre jeweiligen Aufgaben fortführen. Der Einsatz einzelner Repositories macht es möglich. Wenn Sie dann allerdings Ihre Änderungen abgeschlossen haben und diese nun in das gesamte Projekt integrieren möchten, hilft Ihnen der Git-Command Git Push. Mit diesem Befehl laden Sie Inhalte aus Ihrem lokalen Repository in das Remote Repository, auf das wiederum die anderen Entwicklerinnen und Entwickler Zugriff haben. Git Push ist damit ein sehr wichtiges Werkzeug für das Gelingen Ihres Projekts.

Der Befehl funktioniert dabei als Gegenstück zu Git Fetch bzw. Git Pull. Während diese beiden Commands es Ihnen erlauben, Inhalte von einem Remote Repository auf Ihr lokales Repository zu ziehen, geht Git Push den Weg in die andere Richtung. Durch diese Befehle finden viele Arbeitsschritte gleichzeitig statt – hierin unterscheidet sich Git von SVN. Sind Ihre Änderungen abgeschlossen, laden Sie diese dann einfach auf das Remote Repository. Wichtig ist dabei zu beachten, dass Git Push andere Änderungen überschreiben kann. Der Command sollte dementsprechend vorsichtig angewendet werden.

Syntax und Funktionsweise von Git Push

Die Syntax von Git Push ist schnell erklärt. Zunächst schreiben Sie den Befehl selbst, dann geben Sie das Remote Repository an und dahinter den lokalen Branch, den Sie hochladen möchten. Das sieht ausgeschrieben so aus:

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

Git erstellt dann im Ziel-Repository einen lokalen Branch und lädt alle Inhalte, Commits und internen Objekte hoch. Als Schutzfunktion blockiert das Versionskontrollsystem den Git Push allerdings, wenn das Hochladen nicht in einem Fast-Forward-Merge durchgeführt werden kann. So wird verhindert, dass Commits durch den Befehl versehentlich überschrieben 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 Repository Änderungen vorgenommen, diese ausgiebig getestet und für gut befunden haben. Im nächsten Schritt sind diese Änderungen bereit für das Remote Repository, damit auch die anderen Mitglieder Ihres Teams Zugriff darauf haben. Dafür nutzen wir nun verschiedene Befehle, die Sie im praktischen 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 Repository dem Stand des zentralen Repositorys entspricht. Der Befehl Git Rebase führt den Stand des zentralen mit dem Ihres lokalen Repositorys zusammen. So ist es möglich, später einen Fast-Forward-Merge durchzuführen, da die Basis des zentralen und des lokalen Repos gleich sind. Dann führen Sie den eigentlich Git Push durch, der Ihren aktuellen Stand inklusive aller Änderungen an das zentrale Repository weitergibt.

Weitere Optionen des Befehls

Neben dem oben erläuterten Standard-Befehl gibt es noch verschiedene Argumente für Git Push.

Alle Branches hochladen

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

Dieser Befehl ähnelt dem Standard, lädt allerdings statt eines ausgewählten Branches direkt alle lokalen Branches in das zentrale Repository 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 Repository. Tags werden bei einem gewöhnlichen Git Push nicht berücksichtigt.

Git Push erzwingen

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

Dieser Befehl entspricht 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 Änderungen überschreiben und so Probleme entstehen könnten, sollten Sie diese Variante nach Möglichkeit nicht einsetzen.

Git Push in einen leeres Repository

Um sicherzugehen, dass größere Projekte nicht durch Git Push beschädigt werden, ist es empfehlenswert, nur in leere Repositories zu pushen. Diese erstellen Sie mit der Option „--bare“. Wenn Sie in leere Repos pushen, bleiben die Änderungen und Fortschritte anderer Entwicklerinnern und Entwickler sowie die Struktur des Remote Repositorys 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 dazugehörige 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 Repository.

Tipp

Deployen Sie Websites und Apps in nur drei Schritten online! Mit Deploy Now von IONOS profitieren Sie von einem schnellen Setup und maximaler Skalierbarkeit! Buchen Sie jetzt und testen Sie Deploy Now einen Monat lang kostenlos!