Grimoire-
Command
.es

GNU+Linux command memo

Git : revert commits (reset, amend, rebase)

Plusieurs méthodes pour annuler des modifications non commitées ou des commits non envoyés avec git.

1. Reset

git reset --hard HEAD  (1) (2)
1 This will revert your repository to the distant state
2 Permet de revenir à l’état distant du dépôt
git reset --soft HEAD~  (1) (2)
1 Cancel the last local (non-pushed) commit
2 Annuler le dernier commit local (non-envoyé)

2. Amend

git commit --amend  (1) (2)
1 Add new modifications to your previous local commit (if not pushed yet)
2 Ajouter de nouvelles modifications à votre précédent commit local (non-envoyé)

3. Rebase

git rebase -i HEAD~2  (1) (2)
1 Squash your last two commits
2 Fusionner vos deux derniers commits

This is an edge case of the git rebase command that can do bigger operations on trees and branches.