Git Revert
et Git Reset
sont deux commandes importantes dans Git pour annuler et ajuster les modifications dans l' commit
historique d'un référentiel. Voici un guide sur la façon d'utiliser Git Revert
et Git Reset
:
Git Revert
-
Git Revert
vous permet de créer un nouveau commit pour annuler(revert
) les modifications précédemment validées. -
Pour
revert
uncommit
, utilisez la commande suivante :git revert <commit_id>
Remplacez
<commit_id>
par l'ID du quecommit
vous souhaitez rétablir. Un nouveaucommit
sera créé, annulant les modifications apportées au fichiercommit
. Revert
ne modifie pas l'commit
historique mais en crée un nouveaucommit
pour annuler les modifications.
Git Reset
-
Git Reset
vous permet de revenir à un état précédent en déplaçant laHEAD
branche and current vers un commit spécifique. -
Git Reset
a trois modes différents:--soft, --mixed(default), and --hard.
-
Pour
reset
laHEAD
branche and current vers acommit
, utilisez la commande suivante :git reset --mode <commit_id>
Remplacez
<commit_id>
par l'ID du quecommit
vous souhaitez réinitialiser. -
Git Reset
modes :-soft:
Déplace laHEAD
branche actuelle vers la spécifiéecommit
, en conservant les modifications de la précédentecommit
dans la zone de transit. Utilisez la commandegit reset --soft <commit_id>
.--mixed:
C'est le mode par défaut. Déplace laHEAD
branche and current vers le commit spécifié et supprime les modifications de la précédentecommit
de la zone de staging. Utilisez la commandegit reset --mixed <commit_id>
.--hard:
Déplace laHEAD
branche actuelle vers la branche spécifiéecommit
et annule toutes les modifications de la branche précédentecommit
. Soyez prudent lorsque vous l'utilisez, car toutes les modifications non validées seront perdues. Utilisez la commandegit reset --hard <commit_id>
.
<commit_id>
. Git Reset
modifie l'commit
historique et peut entraîner une perte de données, utilisez-le donc avec prudence.
Git Revert
et Git Reset
sont des outils puissants pour annuler et ajuster l'historique des commits dans Git. Utilisez-les avec précaution pour assurer la stabilité du projet et éviter la perte de données.