Question

J'ai créé un fichier .gitignore dans le dossier avec le dossier .git, mais je reçois toujours les fichiers que je suis en train d'ignorer quand faire une nouvelle analyse du référentiel.

Ceci est le contenu du fichier.

# Ignored files
*.suo 
*.user 
bin 
obj 
*.pdb 
*.cache 
*_svn 
*.svn 
*.suo 
*.user 
*.build-res 
TestResults 
_ReSharper*

Qu'est-ce que je fais mal? où est le fichier supposé se trouver?

Était-ce utile?

La solution

Vous devez vous assurer que le fichier que vous voyez encore ne sont pas actuellement engagés ou mis en scène.

Si vous les supprimez (git rm ou git rm --cached), puis les ajouter sous forme de fichier privé, ils seront ignorés.

Autres conseils

Votre fichier semble bon. Assurez-vous que vous n'avez pas tout type d'espaces au début de chaque ligne, il m'a fallu 4 heures pour trouver pourquoi mon .gitignore ne fonctionnait pas correctement; la raison est bien sûr un problème de cut'n'paste où j'avais une ligne verticale d'espaces au début du fichier.

Vous devez être prudent avec git commit -a avant de faire en sorte que votre fichier .gitignore nettoie vraiment tout ce que vous ne voulez pas. Soit marquer chaque fichier (ou utiliser des caractères génériques) avec git add *.cpp *.h ou - comme je préfère -. Développer votre .gitignore que vous progressez, et toujours vérifier avec git status avant de valider

Si vous voulez bien vérifier que votre .gitignore fonctionne vraiment, essayer

git ls-files --others -i --exclude-standard

Ceci devrait lister tous les fichiers que vous ne tenez pas compte actuellement.

Pour nettoyer les fichiers que vous avez déjà ajoutés (probablement en utilisant git add ., une erreur que nous faisons tous au début =]), vous pouvez faire comme @ VonC a dit: soit initiée

git rm <filename>

ou

git rm --cached <filename>

Une autre option de nettoyer tous les fichiers que vous avez sans le vouloir ajouter est totalement propre à votre dépôt, puis ajouter à nouveau tout à nouveau. Si vous voulez effacer tout dans la zone de transit, vous pouvez exécuter

git --rm cached .

Mais rappelez-vous de ne pas courir git add . Jusqu'à ce que vous avez fait en sorte que le statut git répertorie uniquement les fichiers que vous voulez vraiment dans le référentiel.

Une autre chose très utile avec git est qu'il n'a pas besoin de chemins d'accès aux fichiers lorsque vous utilisez des caractères génériques. Si vous listez vos fichiers ignorés et voyez que vous voulez supprimer tous les fichiers *.suo et *.log, il suffit d'exécuter

git rm --cached *.suo *.log

et git prend soin de trouver tous les fichiers dans votre répertoire qui correspond à cette signature, peu importe où dans l'arbre ils sont.

J'ai essayé plusieurs façons d'obtenir ce travail et il a finalement été assez simple:

Vous devez vous engager le premier .gitignore!

En outre, si vous utilisez TortoiseGit -. GITEX Commit Tool, il y a une option pour modifier les fichiers ignorés

Vous localisant droit. .gitignore devrait être dans le même dossier, où est situé le dossier .git. Fichier à l'intérieur semble également correct. Cependant, je n'ai pas une ligne de commentaire en haut ..

Quand je regarde cela, je pense que vous avez oublié de commettre votre fichier ignorer.

Aucune des solutions mises en cache --rm ont travaillé pour moi. Le fichier doit être codé en ASCII / ANSI. J'ai changé les fins de ligne aussi bien, mais seul ne pas réparer. Je ne peux pas trouver l'url qui avait ces instructions (désolé, affiche originale!), Mais cela a fonctionné pour moi:

  1. Installer Notepad ++ si vous ne l'avez pas déjà. Textpad devrait également, mais j'utilise Notepad ++.
  2. Ouvrez votre .gitignore avec Notepad ++.
  3. Cliquez sur Affichage | Afficher le symbole | Afficher tous les caractères. Vous verrez probablement CR LF à la fin de chaque ligne.
  4. Effectuez une recherche et remplacer (ctrl + h), en vous assurant que Extended est cochée (coin inférieur let). Rechercher \ r \ n et le remplacer par \ n. Vous verrez tous les changements CR LF juste LF.
  5. Cliquez maintenant sur l'encodage | Encode en ANSI.
  6. Enregistrez le fichier et la sortie.

A partir de l'invite de commandes dans Windows ou l'invite de commande git, selon ce que vous voulez, quand vous faites état git il ne devrait pas afficher les fichiers dans .gitignore.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top