Fichiers non suivis dans Git
Cet article vous présentera comment annuler le suivi des fichiers dans Git.
Les fichiers d’un dépôt git ont deux états : tracked ou untracked.
Les fichiers suivis sont des fichiers dont Git a connaissance.
Les fichiers non suivis sont des fichiers qui ont été créés dans le référentiel de travail mais qui n’ont pas été ajoutés à l’aide de la commande git add.
Considérez ce scénario.
cd ~ mkdir my-repo cd my-repo git init touch file.txt git add file.txt git commit -m 'First commit' Git connaît file.txt, donc techniquement, file.txt est maintenant suivi.
Plus tard, vous voulez dire à Git d’ignorer file.txt (ou tout autre fichier livré par erreur) en ajoutant ce nom de fichier à .gitignore.
touch .gitignore echo 'file.txt' >> .gitignore git add .gitignore && git commit -m 'Ignore file.txt' Ce qui se passerait?
Après avoir validé .gitignore, vous apportez une modification à file.txt, puis git montre toujours que file.txt est suivi car il est toujours présent dans l’index de votre référentiel.
$ echo 'qwe' > file.txt $ git status On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: file.txt no changes added to commit (use "git add" and/or "git commit -a") Annuler le suivi des fichiers dans Git
Étape 1, exécutez la commande suivante.
$ git rm --cache file.txt rm 'file.txt' $ git st On branch master Changes to be committed: (use "git restore --staged <file>..." to unstage) deleted: file.txt rmarrête le suivi et supprime un fichier du répertoire du référentiel local.- L’option
--cachespécifie que la commandermsupprime le fichier de l’index uniquement, ne supprime pas le fichier du référentiel local
git rm --cache file.txt arrêtera le suivi de file.txt en le supprimant de l’index du référentiel mais gardera le fichier intact.
$ git commit -m 'Remove file.txt from tracking' [master 4697164] Remove file.txt from tracking 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 file.txt A partir de maintenant, Git ne suivra plus les modifications apportées à file.txt.
$ echo '123' > file.txt $ git st On branch master nothing to commit, working tree clean