Um die neuen Commits zu erhalten
git fetch
Zurücksetzen
Sie können das Commit für einen lokalen Zweig mithilfe von zurücksetzen git reset
.
So ändern Sie das Commit eines lokalen Zweigs:
git reset origin/master --hard
Seien Sie jedoch vorsichtig, wie es in der Dokumentation heißt:
Setzt den Index und den Arbeitsbaum zurück. Alle Änderungen an nachverfolgten Dateien im Arbeitsbaum seit <commit> werden verworfen.
Wenn Sie die Änderungen, die Sie lokal vorgenommen haben, tatsächlich beibehalten möchten, führen Sie --soft
stattdessen einen Reset durch. Dadurch wird der Festschreibungsverlauf für den Zweig aktualisiert, es werden jedoch keine Dateien im Arbeitsverzeichnis geändert (und Sie können sie dann festschreiben).
Rebase
Sie können Ihre lokalen Commits zusätzlich zu jedem anderen Commit / Zweig wiedergeben, indem Sie git rebase
:
git rebase -i origin/master
Dadurch wird die Rebase im interaktiven Modus aufgerufen, in dem Sie auswählen können, wie jedes einzelne Commit angewendet werden soll, das nicht in dem Verlauf enthalten ist, auf dem Sie die Rebasis durchführen.
Wenn die Commits, die Sie entfernt haben (mit git push -f
), bereits in den lokalen Verlauf aufgenommen wurden, werden sie als Commits aufgeführt, die erneut angewendet werden. Sie müssten im Rahmen der Neueinstellung gelöscht werden oder werden einfach wieder in den Verlauf aufgenommen für den Zweig - und erscheinen beim nächsten Push wieder in der Remote-Historie.
In der Hilfe finden Sie git command --help
weitere Details und Beispiele zu den oben genannten (oder anderen) Befehlen.
git checkout master && git branch -D test && git checkout -b test origin/test