Git Push Änderungen erzwingen
In diesem Artikel werden wir sehen, wie lokale Änderungen zwangsweise in das Remote-Repository in Git gepusht werden.
Git erlaubt nur lokale Änderungen in das Remote-Repository zu pushen, die Nachkommen der Änderungen im Remote-Repository sind.
In einigen Fällen möchten wir möglicherweise die Änderungen übertragen, die dies nicht sind (d. h. Änderungen, die den Änderungen im Remote-Repository vorausgehen können).
In solchen Fällen müssen wir den Befehl git push
mit der Option --force
verwenden.
Wir werden dies nun an einem Beispiel veranschaulichen.
Verwenden von git push --force
, um lokale Änderungen im Remote-Repository in Git zwangsweise zu pushen
Wenn wir in einer kollaborativen Entwicklungsumgebung arbeiten, stoßen wir manchmal auf eine Situation, in der wir einige Änderungen in das Remote-Repository übertragen haben.
Jetzt entscheiden wir, dass diese Änderungen nicht mehr relevant sind, und wir möchten neue lokale Änderungen in das Remote-Repository übertragen.
Außerdem haben einige andere Teamkollegen möglicherweise bereits diese Remote-Repository-Änderungen übernommen, die wir zuvor gepusht haben. und möglicherweise auf ihnen gearbeitet haben. Anschließend haben sie ihre Änderungen möglicherweise in das Remote-Repository übertragen.
Git erfordert normalerweise, dass wir zuerst die Änderungen, die möglicherweise von anderen Teamkollegen gepusht wurden, aus dem Remote-Repository abrufen, bevor wir die neuen lokalen Änderungen hineinschieben.
Daher müssen wir in solchen Fällen den Befehl git push
mit der Option --force
verwenden. Die Syntax des Befehls lautet git push origin <branch_name> --force
Angenommen, wir haben einen Zweig namens main
. Wir würden dann wie folgt vorgehen, um die Änderungen mit Nachdruck voranzutreiben.
$ git push origin main --force
Achtung: Dadurch werden die Änderungen überschrieben, die bereits im Remote-Repository vorhanden sind und möglicherweise seit dem vorherigen Push aufgetreten sind.
Daher werden die Änderungen, die Ihre Teamkollegen möglicherweise bereits am Remote-Repository vorgenommen haben, überschrieben.
Es gibt eine weitere Option für den Befehl git push
, nämlich. --force-with-lease
. Bei Verwendung dieser Option mit git push
wird eine Fehlermeldung ausgegeben und Git wird die Änderungen nicht pushen, wenn bereits einige Änderungen in das Remote-Repository gepusht wurden.
Diese Option --force-with-lease
stellt sicher, dass wir die Änderungen anderer Teamkollegen nicht überschreiben.
Verwandter Artikel - Git Push
- Commit und pushen Sie eine einzelne Datei auf die Remote
- Führen Sie mit Git einen anfänglichen Push zu einem Remote-Repository durch
- git add, git commit und git push in One Command
- Git Push hängt
- Git Push zum Überschreiben von Dateien im Remote-Repository erzwingen
- Git-Push zu einem anderen Zweig mit einem anderen Namen