Dans la racine de mon projet, j'ai un dossier foo
. Dans le dossier foo
, j'ai un dossier bar
. Je voudrais ignorer toutes les modifications apportées à tous les fichiers de mon dossier bar
. J'ai ceci dans mon gitignore
:
/foo/bar
Le dossier est vérifié: il existe et il contient les fichiers à ignorer. gitignore
est commit
ted. Cependant, j'ai un fichier dans lequel je fais une moification et qui est dans mon dossier bar
. Quand je tape
git status
dans mon git bash
Je vois le fichier qui aurait dû être ignoré. Quelle pourrait être la raison et comment puis-je réussir à ignorer tous les fichiers contenus dans mon dossier de barres?
Notez que les fichiers étaient auparavant ignorés avec la même ligne, mais que je devais supprimer temporairement cette ligne pour commit
quelque chose sur le serveur. Après le commit
, j'ai remis la ligne dans le gitignore
. C’était il ya quelque temps, mais j’ai observé que les fichiers se trouveraient au git status
. Je m'attendrais à pouvoir modifier les fichiers ignorés sans qu'ils apparaissent dans le git status
.
Je suppose que ce dossier a déjà été vérifié dans git?
Courir git rm -r --cached <folder>
et vérifiez à nouveau.
Pour moi, la réponse acceptée faisait partie de la solution, pas de la solution complète. Peut-être que les autres étapes que je suis sur le point de publier étaient évidentes, mais je les ai ratées en premier. Voici les mesures que j'ai prises pour assurer mon .gitignore
fichier ignorait le dossier que je voulais ignorer:
git rm -r --cached .
(qui supprime tout de l’index git afin d’actualiser votre référentiel git)git add .
(pour tout rajouter au repo)git commit -m ".gitignore Fixed"
Vous pouvez trouver le lien vers l'article à partir duquel j'ai trouvé la solution ici .
J'avais ce problème et je me suis rendu compte que git ignorait correctement les fichiers/dossiers, mais mon éditeur de code (Visual Studio Code) était juste un buggy et non pas "en grisonnant correctement" dans la barre latérale de l'interface utilisateur. J'ai redémarré VSCode et ils ont été grisés comme prévu.
En complément du réponse acceptée
git rm -r --cached /foo/bar/
git status
Lorsque je fais cela, le terminal affiche un tas de rm
pour les fichiers de ce répertoire. Donc, pour empêcher un autre commit qui pourrait affecter inutilement la télécommande, je l’ai fait:
git reset HEAD *
git status
Après cela, rien à commettre et quand je modifie des fichiers dans /foo/bar/
et faire un git status
je reçois toujours nothing to commit
.