J'aimerais empêcher Git d'afficher les fichiers ignorés dans git status
, car le fait de disposer de tonnes de documentation et de fichiers de configuration dans la liste des fichiers modifiés mais non mis à jour rend la liste à moitié inutile.
Est-il normal que Git affiche ces fichiers?
Je mets les informations ignorer dans un fichier .gitignore
dans le répertoire racine du référentiel Git et elles ne sont pas ajoutées lors de l'utilisation de git add .
, mais il semble qu'elles ne soient pas non plus totalement ignorées, car elles apparaissent dans la liste susmentionnée et do s'affiche dans la liste imprimée par git ls-files --others -i --exclude-standard
. Seuls les fichiers correspondant aux modèles de ~/.gitignore
sont affichés.
Cela pourrait-il être dû au fait que je ne les ai pas ignorés auparavant et qu'ils se sont ainsi engagés au moins une fois?
Comme j'ai trouvé dans ce post , .gitignore
ne fonctionne que pour les fichiers non suivis. Si vous avez ajouté des fichiers au référentiel, vous pouvez:
git update-index --assume-unchanged <file>
ou les supprimer du référentiel en
git rm --cached <file>
Modifier
Cet article explique cela aussi
Ce problème est également survenu, probablement parce que vous avez ajouté votre répertoire/fichiers ignorés à .gitignore après qu'ils aient été marqués comme "à suivre" par GIT dans un flux de validation initial.
Donc, vous devez vider le cache de git tracking comme ceci:
git rm --cached -r [folder/file name]
Une explication plus détaillée peut être lue ici: http://www.frontendjunkie.com/2014/12/stop-git-from-tracking-changes-to.html
La commande ci-dessus a également supprimé les restes du dossier/fichiers de votre GIT Origin distant. Ainsi, vos dépôts GIT deviennent propres.
Le problème peut être que ce fichier est toujours dans le cache git. Pour résoudre ce problème, vous devez réinitialiser le cache git.
Réinitialiser le cache git. Cela supprime tout de l'index.
git rm -r --cached .
Ajoutez tous les fichiers à nouveau:
git add .
Commettre:
git commit -m ".gitignore was fixed."
Cela fonctionne sûrement,
git rm --cached -r [folder/file name]
Je suppose que vous ne voulez pas ajouter le répertoire tmp (Visual Studio Platform)
1- ajoutez des lignes ci-dessous à votre fichier .gitignore local
## ignore tmp
/tmp/
./tmp/
3- sauvegarder et supprimer le dossier tmp localement. (Sauvegarde ailleurs. Par exemple, bureau?)
4- Valider les modifications au niveau local que sync to remote (par exemple github).
Après ces étapes, votre répertoire tmp ne sera plus téléchargé.
De man git-lsfiles :
-i, --ignored
Show ignored files in the output. Note that this also reverses any exclude list present.
Personnellement, j'ai tendance à garder les fichiers doxygen dans mon arbre source, alors j'ai simplement ajouté ceci à mon .gitignore (qui se trouve dans le répertoire le plus haut de mon arbre source):
docs/*
J'espère que cela pourra aider.
comme ça
git --ignored myfolder
Et affichera le statut que pour myfolder
Les étapes suivantes fonctionnent pour les fichiers non suivis seulement ..____. Ces informations s'appliquent à la configuration suivante:
Platform: linux
Git version: git version 1.8.3.1
Mettez la liste des fichiers à ignorer dans le fichier "exclure" présent à l'emplacement suivant.
<path till .git directory>/.git/info/exclude
Contenu initial du fichier "exclure"
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
Contenu final du fichier "exclure"
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
*.tar
*.gch