Tutorials  /  Linux Basics

Git Push Tutorial: Befehle, Beispiele und sicherer Force Push

Ccentron Redaktion · September 2025 ·6 Min. Lesezeit ·Linux Basics, Tutorial

Das Pushing in Git bedeutet, dass lokale Commits in ein Remote-Repository übertragen werden. Dadurch werden deine Änderungen für andere sichtbar und das Projekt bleibt synchron. Während git push lokale Änderungen hochlädt, ruft git pull Updates vom Remote ab und integriert sie in deinen aktuellen Branch. Dieses Zusammenspiel von Push und Pull ist entscheidend, um Beiträge in verteilten Workflows zu verwalten. In diesem Leitfaden wird erklärt, wie git push in Szenarien wie GitHub, Bare-Repositories und Force-Push-Workflows funktioniert – inklusive Beispielen und den gängigen Optionen wie -u, --tags und --force.

Schnellreferenz Beispiele

Konsole
# lokalen main-Branch ins origin-Remote pushen
$ git push origin main

# den dev-Branch pushen und mit origin/dev für zukünftige Pushes verknüpfen
$ git push -u origin dev

# alle lokalen Git-Tags ins Remote hochladen
$ git push --tags

# den Branch old-feature im Remote löschen
$ git push --delete origin old-feature

Dies sind die am häufigsten verwendeten Push-Befehle in Git. Im Folgenden wird erläutert, wie sie funktionieren und wann sie sinnvoll eingesetzt werden.

VM

Passende Infrastruktur bei centron

Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

Änderungen zu GitHub pushen

Der Befehl git push überträgt deine lokalen Commits in ein Remote-Repository wie GitHub. Damit wird der Remote-Branch auf den neuesten Stand gebracht und deine Mitwirkenden sehen die Änderungen.

Befehls-Syntax

Konsole
git push [OPTIONEN]  
  • : Meistens origin, der Standardname für das Remote.
  • : Der Branch, der aktualisiert werden soll, z. B. main oder feature/login.
  • [OPTIONEN]:
    • -u / --set-upstream: Legt das Standard-Remote und den Branch für künftige Pushes fest.
    • -f / --force: Ersetzt die Historie des Remote-Branches durch die lokale.
    • --all: Pusht alle lokalen Branches.
    • --tags: Pusht alle annotierten Tags.

Befehlsschritte

Alle Dateien im Arbeitsverzeichnis zum Commit vormerken:

Konsole
$ git add .

Eine bestimmte Datei vormerken:

Konsole
$ git add <dateiname>

Änderungen mit einer Nachricht committen:

Konsole
$ git commit -m "Neue Funktion hinzugefügt"

Überprüfen, ob das Remote konfiguriert ist:

Konsole
$ git remote -v

Beispielausgabe:

Code
origin  git@github.com:username/repository.git (fetch)
origin  git@github.com:username/repository.git (push)

In den Branch main pushen und diesen als Standard für künftige Pushes festlegen:

Konsole
$ git push -u origin main

Beispielausgabe:

Code
Branch 'main' set up to track remote branch 'main' from 'origin'.

Ab jetzt reicht der Befehl:

Konsole
$ git push

Änderungen in Bare-Repositories pushen

Ein Bare-Repository ist ein Git-Repository ohne Arbeitsverzeichnis. Es enthält nur die Versionshistorie und dient meist als zentrales Repository auf einem Server. Entwickler können Code daraus pushen oder pullen, aber keine Dateien direkt bearbeiten.

Schritte zum Pushen in ein Bare-Repository

Per SSH mit dem Server verbinden:

Konsole
$ ssh benutzername@server_ip

Zum Speicherort der Repositories wechseln:

Konsole
$ cd /pfad/zu/deinen/repositories/

Ein neues Bare-Repository anlegen:

Konsole
$ git init --bare dein-projekt.git

Beispielausgabe:

Code
Initialized empty Git repository in /root/git-repos/dein-projekt.git/

SSH-Sitzung beenden:

Konsole
$ exit

Auf dem lokalen System das Bare-Repository als Remote hinzufügen:

Konsole
$ git remote add bare-server benutzername@server_ip:/pfad/zu/deinen/repositories/dein-projekt.git

Konfiguration überprüfen:

Konsole
$ git remote -v

Beispielausgabe:

Code
bare-server  benutzer@server:/pfad/zu/dein-projekt.git (fetch)
bare-server  benutzer@server:/pfad/zu/dein-projekt.git (push)

Den lokalen master-Branch ins Bare-Repository pushen:

Konsole
$ git push bare-server master

Beispielausgabe:

Code
To server:/pfad/dein-projekt.git
 * [new branch]      master -> master

Force Push Änderungen

Ein Force Push wird eingesetzt, wenn sich die lokale Branch-Historie von der des Remotes unterscheidet – typischerweise nach dem Zusammenfassen von Commits, einem Rebase oder dem Umschreiben der Historie. Mit einem Force Push wird der Remote-Branch an den lokalen Stand angepasst.

Warnung

Das Flag --force überschreibt die Historie des Remote-Branches. Verwende es nur, wenn du sicher bist, dass niemand anderes Änderungen gepusht hat. Für eine sicherere Zusammenarbeit empfiehlt sich --force-with-lease, das versehentliches Überschreiben verhindert.

Falls du nach einem Rebase, Squash oder einem geänderten Commit die Remote-Historie überschreiben musst, verwende einen der folgenden Force-Push-Befehle.

Den lokalen Branch erzwingen, um die Remote-Historie zu überschreiben:

Konsole
$ git push --force origin main

Eine sicherere Variante nutzen, um Änderungen anderer nicht zu überschreiben:

Konsole
$ git push --force-with-lease origin main

--force-with-lease wird nur ausgeführt, wenn der Remote-Branch noch dem lokalen Stand entspricht.

Falls du den letzten Commit mit folgendem Befehl geändert hast:

Konsole
$ git commit --amend

dann aktualisiere den Remote-Branch, um den geänderten Commit widerzuspiegeln:

Konsole
$ git push --force-with-lease origin main

Fazit

Du hast gelernt, wie man lokale Commits mit git push sowohl nach GitHub als auch in Bare-Repositories überträgt – einschließlich dem Vormerken von Änderungen, dem Setzen von Upstream-Branches, dem Überprüfen der Remote-Konfiguration und dem Einsatz von Force Push, wenn nötig. Mit diesen Vorgehensweisen kannst du deine lokale Arbeit zuverlässig mit Remotes synchronisieren und eine saubere, kollaborative Git-Historie beibehalten.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Linux Basics
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren