Git Push Änderungen erzwingen

Azhar Bashir Khan 6 Februar 2022
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