Löschen lokale Commits in Git

John Wachira 21 Dezember 2022
Löschen lokale Commits in Git

In diesem Artikel werden die Schritte zum Rückgängigmachen lokaler Commits erläutert. Wir werden sehen, wie man einen einzelnen Commit zu mehreren Commits in Git löscht.

Löschen lokale Commits in Git

Wir werden besprechen, wie Sie die neuesten Commits in Ihrem lokalen Repository löschen, um die Dinge in Gang zu bringen.

Normalerweise verwenden wir den Befehl git reset, um die letzten Änderungen in unserem Repository zu löschen. Wenn Sie den letzten Commit löschen möchten, verwenden Sie den folgenden Befehl.

git reset --hard HEAD~1

Das Argument HEAD~1 löscht einen Commit.

Wir können ein N-tes Argument verwenden, wie unten gezeigt.

git reset --hard HEAD~N

Wenn Sie die letzten fünf Commits in Ihrem Repository löschen möchten, ersetzen Sie N durch Ihren Wert.

Wir können einen bestimmten Commit mit dem folgenden Befehl löschen.

git reset --hard <sha1-commit-hash>

Verlauf übernehmen

Verwenden Sie Ihr Äquivalent des obigen im Befehl.

Wenn Sie Änderungen rückgängig machen möchten, die von einem Commit vorgenommen wurden, das sich zwischen Ihrem Commit-Verlauf befindet, verwenden Sie den Befehl git revert. Dieser Befehl macht die vom ausgewählten Commit vorgenommenen Änderungen rückgängig.

git revert <sha1-commit-hash>

git revert löscht den Commit jedoch nicht. Wir verwenden im interaktiven Formular den git rebase.

git rebase -i <sha1-commit-hash>

Sie sehen einen Editor mit einer Liste der umgebenden Commits, nachdem Sie den obigen Befehl ausgeführt haben. Sie können am Anfang drop eingeben, um den gewünschten Commit zu löschen.

Wenn Sie die Änderungen in Ihr Remote-Repository übertragen möchten, führen Sie den folgenden Befehl aus.

git push --force-with-lease origin HEAD

Der obige Befehl wirkt sich nicht auf die Änderungen aus, die von anderen Entwicklern im Remote-Repository vorgenommen wurden. Es ist eine sicherere Option für den Befehl git push origin HEAD --force, der alle Änderungen überschreibt, die von anderen Entwicklern in einem Remote-Repository vorgenommen wurden.

Wenn Sie Ihre lokalen Änderungen auf den aktuellen Stand Ihres Remote-Repositorys zurücksetzen möchten, führen Sie den folgenden Befehl aus.

git reset --hard origin/<branch_name>

Sie können einen gelöschten Commit mit dem Befehl git reflog finden.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Verwandter Artikel - Git Reset

Verwandter Artikel - Git Revert