j'ajoute ceci au fichier .gitignore
.idea/*
mais de toute façon le statut est:
# modified: .gitignore
# modified: .idea/.generators
# modified: .idea/dovezu.iml
# modified: .idea/misc.xml
# modified: .idea/workspace.xml
Qu'est-ce que je fais mal ? j'ai même ajouté .idea / * au statut global ~ / .gitignore_global mais git, de toute façon me montre:
# modified: .gitignore
# modified: .idea/.generators
# modified: .idea/dovezu.iml
# modified: .idea/misc.xml
# modified: .idea/workspace.xml
Réponses:
Votre
.gitignore
fonctionne, mais il suit toujours les fichiers car ils étaient déjà dans l'index.Pour arrêter cela, vous devez faire:
git rm -r --cached .idea/
Lorsque vous validez, le
.idea/
répertoire sera supprimé de votre référentiel git et les validations suivantes ignoreront le.idea/
répertoire.PS: Vous pouvez utiliser
.idea/
au lieu de.idea/*
pour ignorer un répertoire. Vous pouvez trouver plus d'informations sur les modèles sur la page de manuel .gitignore .Citation utile de la
git-rm
page de manuella source
.gitignore
puis à la réalisationgit rm -cached
?commit
avoir supprimé les fichiers mis en cache? Cela semble vraiment contre-intuitif; ce sont des fichiers que je ne veux PAS valider. Et je ne veux pas qu'ils soient supprimés du référentiel (je veux juste qu'ils ne traînent plus autour de moigit status
). Ou suis-je vraiment vraiment confus?Pour les personnes susceptibles de rechercher ce problème, ne regardez que cette page.
Cela vous aidera à supprimer les fichiers d'index mis en cache, puis à n'ajouter que ceux dont vous avez besoin, y compris les modifications apportées à votre
.gitignore
fichier.Voici un peu plus d'informations.
la source
Les solutions proposées ici et ailleurs n'ont pas fonctionné pour moi, donc je vais ajouter à la discussion pour les futurs lecteurs. Certes, je ne comprends pas encore complètement la procédure, mais j'ai finalement résolu mon problème (similaire) et je veux partager.
J'avais accidentellement mis en cache certains répertoires doc avec plusieurs centaines de fichiers lorsque je travaillais avec git dans IntelliJ IDEA sur Windows 10, et après les avoir ajoutés à
.gitignore
(et PROBABLEMENT les avoir déplacés un peu), je ne pouvais pas les retirer de la liste des modifications par défaut.J'ai d'abord commis les changements réels que j'avais apportés, puis j'ai résolu le problème - cela m'a pris beaucoup trop de temps. J'ai essayé
git rm -r --cached .
mais j'obtiendrais toujours despath-spec
ERREURS, avec différentes variations depath-spec
ainsi qu'avec les drapeaux-f
et-r
.git status
afficherait toujours les noms de fichiers, j'ai donc essayé d'utiliser certains de ces mots avecgit rm -cached
, mais pas de chance. Cacher et déchausser les changements semblait fonctionner, mais ils ont de nouveau été mis en file d'attente après un certain temps (je suis un peu flou sur le délai exact). J'ai finalement supprimé ces entrées pour de bon en utilisantJe suppose que ce n'est qu'une BONNE IDÉE lorsque vous n'avez aucune modification mise en cache / mise en cache que vous souhaitez réellement valider.
la source
Ajoutez simplement
git rm -r --cached <folder_name/file_name>
Parfois, vous mettez à jour le fichier .gitignore après la commande commit des fichiers. Ainsi, les fichiers sont mis en cache dans la mémoire. Pour supprimer les fichiers mis en cache, utilisez la commande ci-dessus.
la source
Git add.
Git status // Vérifier le fichier en cours de modification
// git reset HEAD --- remplacez le fichier que vous voulez ignorer
git reset HEAD .idea / <- Ceux qui voulaient exclure .idea d'avant commit // git check status et le fichier d'idées seront partis, et vous êtes prêt à partir!
git commit -m ''
git push
la source