Annuler les modifications locales d'un seul fichier dans Git
- Restaurer un fichier précédemment validé dans Git
- Annuler les modifications apportées aux fichiers mis en scène et non mis en scène dans Git
-
la commande
git restore
Dans cet article, nous verrons comment nous pouvons utiliser des commandes telles que git checkout
et git reset
pour restaurer nos fichiers à une version de notre choix. Bien que Git facilite la réinitialisation des fichiers et des référentiels, le concept d’annulation des modifications dans Git est un peu plus compliqué que vous ne le pensez.
L’annulation des modifications dans un référentiel est différente de l’annulation des modifications apportées à un ensemble de fichiers sur lesquels vous travaillez localement.
Les commandes git checkout
, git reset
et git restore
sont utiles lors de la restauration de fichiers vers une version précédente. Mais avant de plonger dans ces commandes, nous devons nous demander ; que signifie réinitialiser un fichier ?
Il convient de noter que la réinitialisation d’un fichier peut être différente pour vous dans différentes circonstances. Il se peut qu’une commande git checkout
ne corresponde pas à vos attentes.
C’est différent pour les personnes qui souhaitent annuler les modifications déjà validées et celles qui souhaitent annuler les modifications de sorte que le fichier se synchronise avec le référentiel.
Voici quelques termes que vous devriez rechercher pour comprendre les différences.
- Arbre de travail
- Zone de transit
- Référentiel
Restaurer un fichier précédemment validé dans Git
Un cas courant est que nous avons validé un fichier et que nous voulons annuler les modifications. Nous utiliserons la commande git checkout
dans un tel scénario.
Nous avons précédemment utilisé la commande pour changer de branche, mais ce n’est qu’une partie de ce qu’elle peut faire.
Nous pouvons utiliser la commande pour annuler les modifications apportées à un fichier que nous avons déjà validé. Il fera correspondre les fichiers de notre arbre de travail au fichier à tout moment de l’historique de notre dépôt.
Nous pouvons spécifier une branche, une balise et un commit.
Vous trouverez ci-dessous la meilleure façon d’exécuter la commande.
$ git checkout [commit ID] -- path/to/file
Lors de l’exécution de la commande ci-dessus, nous pointons Git vers un ID de validation spécifique dans notre référentiel. De plus, nous avons ajouté le chemin d’accès à un seul fichier.
L’exécution de la commande ci-dessus ne mettra à jour le fichier que dans notre arbre de travail. Nous devrons mettre en scène le fichier et faire un nouveau commit.
Annuler les modifications apportées aux fichiers mis en scène et non mis en scène dans Git
Notre zone de staging contient les fichiers que nous voulons valider. Pour annuler les modifications dans un fichier mis en scène, exécutez la commande git reset
pour le déclasser.
$ git reset HEAD path/to/file
Nous exécutons la commande ci-dessous pour annuler les modifications locales avant de mettre en scène un fichier.
$ git checkout -- path/to/file
La commande est similaire à la première, sauf qu’elle omet notre ID de validation.
la commande git restore
Les nouvelles versions de Git nous permettent d’utiliser la commande git restore
pour annuler les modifications apportées à un seul fichier.
Voici quelques-unes des façons dont nous pouvons utiliser la commande.
-
Annuler une modification du référentiel
$ git restore --source [commit id] path/to/file
-
Désorganiser un fichier
$ git restore --staged path/to/file
-
Annuler les modifications apportées à une copie de travail
$ git restore path/to/file
Nous nous retrouvons souvent à annuler des commits plutôt que de réinitialiser un seul fichier. Cependant, lorsque vous en avez besoin, c’est assez simple.
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