Wie man kürzlich vorgenommener Commit in Git rückgängig macht
Eines der größten Dinge in Git ist, dass Sie fast alles rückgängig machen können. Lassen Sie uns betrachten, wie man kürzlich vorgekommene Commits in Git rückgängig machen kann.
Wie kann man Commits mit dem Befehl git reset rückgängig machen
- git reset --soft HEAD~x (or git reset --soft commit hash).
git reset --soft HEAD~x
Der Befehl git reset --soft HEAD spult Ihren aktuellen HEAD zur angegebenen Revision zurück. Wenn Sie diesen Befehl verwenden, machen Sie gerade den letzten Commit rückgängig, aber die ihrerseits gemachten Änderungen werden in Ihrem Arbeitsbaum und auf Ihrem Index eingespeichert. So wird der Befehl so git commit einen Commit genau mit den gleichen Änderungen wie der Commit, den Sie vorher "rückgängig gemacht" haben, erstellen.
git reset --hard HEAD~x (oder git reset --hard commit hash).Git reset --hard HEAD~x
Wie kann man Commits mit dem Befehl git reset rückgängig machen
git revert HEAD~x (git reset --hard commit hash) es kehrt zurück die Änderungen durch den letzten angegebenen Commit in HEAD und erstellt einen neuen Commit mit den zurückgekehrten Änderungen.
Git revert HEAD ~x
Zum Beispiel,wenn Ihre Geschichte wie gefolgt ist:
git log --oneline
872fa7e try something crazy
a1e8fb5 make some important changes to hello.txt
Obwohl der Commit 872fa7e noch in der Geschichte existiert, ist er technisch “annuliert”. Der neue Commit e2f9a78 ist ein Gegenteil der Änderungen in 872fa7e.
Wie kann man Commits mit dem Befehl git amend rückgängig machen
Um Änderungen vorzunehmen, veranstalten Sie sie, und checken Sie wieder ein, um den folgenden Befehl zu führen:
git commit --amend
Dieser Befehl wird Ihren $EDITOR öffnen und wird Ihnen die Nachricht ändern lassen. Die neuen Änderungen werden zum amendierten Commit hinzugefügt.
Wenn Sie nur Änderungen in der Commit-Nachricht vornehmen möchten, "checken Sie einfach noch einmal" ohne irgendwelche inszenierten Änderungen, aber mit der richtigen Nachricht ein:
git commit --amend -m "Das ist die richtige Nachricht"
Wenn es irgendetwas anderes gibt, um zu diesem letzten Commit hinyuyuf[gen, machen Sie gerade Stufenänderungen als normal und checken Sie dann wieder ein:
git add some/changed/file.ext
git commit --amend -m "commit message"
git commit --amend git push origin master --force
Die Eigenschaft --force zwingt, Ihren Commit nach den gemachten Veränderungen einzukellern, um Remote-Geschichte zu erneuern.
Wie kann man Commits mit dem Befehl git rückgängig machen
Beim Überprüfen des vorherigen Commits mit dem Befehl git checkout setzen sie das Repositorium bevor Ihrem letzten Commit (derjenige, den Sie rückgängig machen möchten) geschieht. Der repo wird in "detached HEAD" gesetzt und alle ihren neuen Commits werden verwaist, wenn Sie Branches zurück zu einem feststehenden Branch ändern. Verwaiste Commits werden vom Git-Müllsammler automatisch gelöscht.
Vom getrennten HEAD können Sie laufen
git checkout -b new_branch_without_my_last_commit
Das wird einen neuen Branch mit dem Namen new_branch_without_my_last_commit erstellen und zu diesem Status wechseln. Der repo wird auf einer neuen Geschichtszeitachse, wo Ihr letzter Commit nicht existiert, sein.