Quand je fais un statut git, je vois des fichiers comme celui-ci:
modified: dir/A/file.txt
modified: dir/B/file.txt
modified: dir/C/file.txt
modified: dir/D/file.txt
Ce que je veux faire est d'annuler les modifications apportées à tous les fichiers SAUF pour dir/C/file.txt
Je veux faire quelque chose comme ça:
git checkout -- dir/!C/file.txt
git add dir/C/file.txt # this file will stay modified and staged
git checkout .
Si vous souhaitez décompresser le fichier après cela:
git reset
Si vous voulez checkout
tous les fichiers d’un répertoire, par exemple git checkout /path/to/directory/A/(all-files-of-this-directory).Alors, utilisez la commande ci-dessous:
git checkout /path/to/directory/A/.
où point (.) signifie tous les fichiers. et /path/to/directory/A/
vous pouvez trouver à partir de git status
.