Original article: How to undo changes in Git
Vous savez peut-être déjà que Git est comme un système de points de sauvegarde. Ce que vous apprenez généralement pour commencer avec Git est d'apprendre à sauver vos changements et à les livrer (commit) vers un dépôt distant (remote repository). Mais comment annulez-vous un changement et revenez-vous à un état précédent ?
C'est ce que nous allons couvrir dans cet article.
J'ai couvert le contenu de cet article dans une vidéo si vous aimez apprendre en regardant plutôt qu'en lisant.
Dépôt Local vs Dépôt Distant
Il est plus compliqué d'annuler quelque chose qui est déjà sur le dépôt distant. C'est pourquoi vous voulez garder les choses en local jusqu'à ce qu'elles soient relativement confirmées.
Quatre scénarios courants
Nous couvrirons les quatres scénarios courants suivants :
- Supprimer des changements locaux
- Modifier le commit précédent
- Revenir à un commit précédent
- Annuler (revert) un commit qui a été poussé sur le dépôt distant (remote)
Note: Dans les captures d'écrans ci-dessous, j'ai utilisé le client Git Fork for Mac OS. Vous pouvez faire la même choses dans d'autres clients Git similaires.
Scénario 1: Supprimer des changements locaux
Le premier scénario, c'est quand vous avez fait quelques changements. sans pour autant avoir fait un commit. Et vous voulez effacer ces changements.
Disons que nous voulons créer une nouvelle fonctionnalité. Nous allons ajouter un peu de HTML et de CSS dans le projet :
<!--Dans index.html-->
<div class="fonctionnalite"></div>
```
```css
/* Dans le fichier CSS */
.fonctionnalite {
font-size: 2em;
/* Other styles */
}
Pour annuler ces changements :
- Allez dans la zone de stockage (staging area)
- Selectionnez les fichiers où vous voulez annuler les changements
- Faites un clic droit sur les fichiers
- Sélectionnez "discard changes" (annuler les modifications)

Scénario 2: Modifier le commit précédent
Quand vous avez créé un commit et que vous avez oublié certains changements et vous voulez ajouter ces changements dans le message de commit précédent.
- Allez dans la zone de stockage (staging area)
- Stockez (stage) les fichiers à commit
- Cliquez sur la case à cocher "Amend"
- Éditez votre message de commit
- faite un commit

Scénario 3: Revenir à un commit précédent
Vous avez déjà quelques commits dans votre dépôt local. Vous décidez que vous ne voulez plus de ces commits et que vous voulez "recharger" vos fichiers depuis un état précédent.
- Allez dans l'historique Git
- Faites un clic droit sur le commit vers lequel vous voulez retourner
- Selectionnez "reset
branch
to here" (réinitialiser '[nom de la branche]' ici...)

Note: Vous pouvez seulement revenir à un commit qui n'a pas encore été poussé dans le dépôt distant.
Scénario 4: Annuler un commit qui a été poussé sur le dépôt distant
Si vous avez un commit qui a été poussé dans la branche du dépôt distant, vous devez l'annuler .
Annuler signifie défaire les changements en créant un nouveau commit. Si vous aviez ajouté une ligne, ce revert commit retirera la ligne. Si vous aviez supprimé une ligne, le revert commit réajoutera la ligne.
Pour annuler vous pouvez :
- Allez dans l'historique Git (Git history)
- Faites un clic droit sur le commit que l'on veut annuler (revert)
- Sélectionnez "revert commit"
- Assurez-vous que "
commit the changes
" est coché. - Cliquez sur "revert"


Autres scénarios
GitHub a un article utile qui vous montre comment défaire à peu près tout avec Git. Il sera utile si vous faites face à d'autres scénarios. Lisez-le ici.
Merci pour la lecture. Cet article vous a-t-il aidé d'une façon ou d'une autre ? S'il l'a fait, j'espère que vous le partagerez. Vous pourriez aider quelqu'un d'autre. Merci !
Cet article a été initialement posté sur mon blog.
Inscrivez-vous pour ma newsletter si vous voulez plus d'articles pour vous aider à devenir un meilleur développeur frontend.