Je voudrais empêcher Git d'afficher les fichiers ignorés dans git status
, car avoir des 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?
J'ai mis les informations ignorées dans un .gitignore
fichier dans le répertoire racine du référentiel Git et elles ne sont pas ajoutées lors de l'utilisation, git add .
mais il semble qu'elles ne soient pas entièrement ignorées non plus, car elles apparaissent dans la liste susmentionnée et n'apparaissent pas dans la liste imprimé par git ls-files --others -i --exclude-standard
. Seuls les fichiers correspondant aux modèles ~/.gitignore
s'affichent là-haut.
Serait-ce parce qu'à un stade antérieur je ne les ai pas ignorés et qu'ils ont donc été commis au moins une fois?
git status -- <file>
-il "Modifications non préparées pour la validation" ou "Fichiers non suivis" pour votre fichier? Le premier est si vous avez déjà un fichier dans l'index et que j'aurais besoin de plus d'informations pour résoudre votre problème (mieux vaut créer une question séparée avec les messages git affichés et poster simplement un lien vers celui-ci dans un commentaire). Le dernier est pour les fichiers qui ne sont pas (encore) suivis par git, mais qui ne sont pas dans le.gitignore
fichier et peuvent être librement ajoutés à l'index.J'ai également eu ce problème, c'est 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.
Vous devez donc effacer le cache de suivi git 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 / des fichiers de votre origine GIT distante. Ainsi, vos dépôts GIT deviennent propres.
la source
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éinitialisez le cache git. Cela supprime tout de l'index.
Ajoutez à nouveau tous les fichiers:
Commettre:
la source
Cela fonctionne sûrement,
git rm --cached -r [folder/file name]
la source
Je suppose que vous ne voulez pas ajouter de répertoire tmp (plateforme Visual Studio)
1- ajoutez des lignes ci-dessous à votre fichier local .gitignore
3- sauvegarder et supprimer le dossier tmp localement. (Sauvegarder ailleurs. Par exemple sur le bureau?)
4- Validez les changements en local plutôt que Sync avec distant (par exemple, github).
Après ces étapes, votre répertoire tmp ne sera plus téléchargé.
la source
De man git-lsfiles :
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):
J'espère que cela pourra aider.
la source
Les étapes suivantes ne fonctionnent que pour les fichiers non suivis . Cette information est applicable pour la configuration suivante:
Placez la liste des fichiers à ignorer dans le fichier "exclure" présent à l'emplacement suivant.
Contenu initial du fichier "exclure"
Contenu final du fichier "exclure"
la source
Selon la réponse acceptée, vous pouvez supposer que le fichier est inchangé , de sorte que tout ce que vous faites sur votre machine locale ne soit pas engagé dans votre branche distante.
Quelque chose comme
git update-index --assume-unchanged src/main/resources/config.properties
où src / main.resources / config.properties est un exemple de chemin pour trouver ce fichier dans votre projet.Maintenant, si vous voulez supprimer complètement le fichier de votre référentiel, vous pouvez utiliser à la
remove cached
place de `git rm --cachedCe scénario pourrait être applicable dans la situation suivante:
la source
comme ça
Et affichera l'état uniquement pour mon dossier
la source