Um die neuen Übertragungen zu erhalten
git fetch
Zurücksetzen
Sie können die Übergabe für einen lokalen Zweig zurücksetzen, indem Sie git reset
.
Um den Commit eines lokalen Zweigs zu ändern:
git reset origin/main --hard
Seien Sie jedoch vorsichtig, wie es in der Dokumentation heißt:
Setzt den Index und den Arbeitsbaum zurück. Alle Änderungen an verfolgten Dateien im Arbeitsbaum seit <commit> werden verworfen.
Wenn Sie alle Änderungen, die Sie lokal vorgenommen haben, tatsächlich behalten wollen, führen Sie eine --soft
stattdessen zurücksetzen. Dadurch wird die Commit-Historie für den Zweig aktualisiert, aber es werden keine Dateien im Arbeitsverzeichnis geändert (und Sie können sie dann committen).
Rebase
Sie können Ihre lokalen Commits zusätzlich zu jeder anderen Commit/Branch wiedergeben, indem Sie git rebase
:
git rebase -i origin/main
Dadurch wird rebase im interaktiven Modus aufgerufen, in dem Sie auswählen können, wie jeder einzelne Commit, der sich nicht in der Historie befindet, auf die Sie rebasen wollen, angewendet werden soll.
Wenn die von Ihnen entfernten Commits (mit git push -f
) bereits in die lokale Historie gezogen wurden, werden sie als Commits aufgelistet, die erneut angewendet werden - sie müssten als Teil des Rebase gelöscht werden oder sie werden einfach wieder in die Historie des Zweigs aufgenommen - und tauchen beim nächsten Push wieder in der entfernten Historie auf.
Verwenden Sie die Hilfe git command --help
für weitere Details und Beispiele zu jedem der oben genannten (oder anderen) Befehle.