Git ignore les fichiers qui ne sont pas dans gitignore

J’ai un repository git qui ignore les fichiers image ainsi que quelques autres fichiers, mais mon fichier .gitignore ne l’ignore qu’un fichier config.php . Y a-t-il un fichier global ignoré quelque part que je n’arrive pas à trouver? Je dois spécifier des fichiers pour les append maintenant, et cela me donne cet avertissement:

Les chemins suivants sont ignorés par l’un de vos fichiers .gitignore.

Le contenu de mon fichier ~/.gitconfig est uniquement mon adresse e-mail.

git check-ignore

Utilisez la commande git check-ignore pour déboguer votre fichier gitignore (exclure les fichiers).

Par exemple:

 $ git check-ignore -v config.php .gitignore:2:src config.php 

Les informations de sortie ci-dessus concernant le motif correspondant (le cas échéant) pour chaque chemin d’access (y compris la ligne).

Donc, peut-être que votre extension de fichier n’est pas ignorée, mais tout le répertoire.

Le format retourné est:

        

Ou utilisez la commande suivante pour imprimer votre .gitignore dans l’utilisateur HOME et le dossier du référentiel:

cat ~/.gitignore "$(git rev-parse --show-toplevel)"/.gitignore "$(git rev-parse --show-toplevel)"/.git/info/exclude

Vous pouvez également utiliser git add -f append des fichiers ignorés.

Voir: man gitignore , man git-check-ignore pour plus de détails.

Syntaxe

git check-ignore [options] chemin d’access…

git check-ignore [options] –stdin

Il peut être intéressant de savoir que votre configuration git peut contenir un fichier core.excludesfile qui est un chemin d’access à un fichier contenant des modèles supplémentaires ignorés. Vous pouvez savoir si vous avez une telle configuration en exécutant (dans le problème go repo):

 git config core.excludesfile 

S’il imprime un chemin de fichier, examinez le contenu de ce fichier pour plus d’informations.

Dans mon cas, j’ai installé git via une ancienne version de boxen qui ignorait le motif ‘Icon?’ qui dans mon cas m’a donné l’avertissement, mentionné dans cette question, pour les icons d’un dossier (je suis sur un système de fichiers insensible à la casse, c’est pourquoi Icon? correspond aux icons).

Vérifiez ces:

  1. Avez-vous cherché d’autres fichiers .gitignore, car ils peuvent être nombreux.

  2. Aussi, regardez REPO / .git / config pour voir s’il y a quelque chose là.

  3. Repo exclure Les règles locales de repo peuvent être ajoutées au fichier .git / info / exclude de votre repo. Ces règles ne sont pas validées avec le repository afin qu’elles ne soient pas partagées avec d’autres. Cette méthode peut être utilisée pour les fichiers générés localement que vous ne souhaitez pas que d’autres utilisateurs génèrent, comme les fichiers créés par votre éditeur.

J’ai eu le même problème – un répertoire était ignoré par git avec cette erreur:

 ➭ git add app/views/admin/tags/ The following paths are ignored by one of your .gitignore files: app/views/admin/tags Use -f if you really want to add them. fatal: no files added 

J’ai finalement compris que mon problème était une ligne dans mon ~/.gitignore_global :

 TAGS 

qui correspondait au chemin app/views/admin/tags . Je l’ai corrigé en ajoutant une barre oblique au fichier global gitignore

 /TAGS 

et git a recommencé à suivre mon répertoire.

Pour moi, j’avais accidentellement un joker dans mon fichier ~ / .gitignore_global. Peut-être vérifier là-bas?

Une autre chose à essayer: j’avais un répertoire B avec son propre repository .git nested dans mon répertoire de projet A (mais pas en tant que sous-module). J’ai apporté quelques modifications à B et je voulais en faire un sous-module de bonne foi. Je pense que git A ignorait automatiquement B car il contenait son propre référentiel (voir les référentiels git nesteds sans sous-modules? ). J’ai renommé le dossier B et essayé de le cloner à nouveau en tant que sous-module, ce qui m’a apporté le message d’erreur trompeur “ignoré par .gitignore”. La solution était de supprimer .git de B.

J’avais exactement le même problème que toi. La seule réponse à laquelle vous avez répondu a été quelques endroits à vérifier, mais aucun d’entre eux n’a résolu le problème pour moi, et d’après votre commentaire, je ne pense pas non plus pour vous. Je n’ai eu aucun autre fichier .gitignore caché plus bas dans l’arborescence; rien dans .git / config; rien en .git / ingore / exclude

Si vous avez toujours le problème, cochez cette réponse . Il a résolu le problème pour moi

Fondamentalement, recherchez un fichier ~ / .gitignore. Le mien s’appelait ~ / .gitignore_global. Je ne sais pas quand il a été créé ( je ne l’ ai certainement pas fait), mais j’ai essayé une tonne de configurations différentes de git lors de ma première installation, donc l’un d’eux a dû le mettre là.

J’espère que sa réponse vous aidera aussi!

Une autre raison de recevoir ce message d’erreur de git est l’exécution de la commande git submodule add lorsqu’une commande git précédente a planté et a quitté le fichier de locking (cela peut se produire lorsque vous utilisez des scripts personnalisés contenant des commandes git). t noté le crash).

Si vous exécutez la commande git commit place, alors qu’aucune des conditions n’a changé (l’ git submodule add continuera à crier que vos fichiers .gitignore sont à blâmer), vous verrez un autre rapport d’erreur à la place:

 $ git commit -a fatal: Unable to create '..../.git/index.lock': File exists. If no other git process is currently running, this probably means a git process crashed in this repository earlier. Make sure no other git process is running and remove the file manually to continue. 

et en effet supprimer le fichier de locking:

 rm .git/index.lock 

résout le problème. (Cela arrive avec git version 2.1.0.9736. Il peut être corrigé dans les futures versions de git.)

Vérifiez que vous avez l’autorisation sur le dossier. Je viens juste de rencontrer ceci et c’était parce que le dossier appartenait à l’utilisateur de www-data, pas à l’utilisateur avec lequel j’étais connecté au terminal.

Une dernière chose: si le répertoire dans lequel vous vous trouvez requirejs un access root pour l’écriture ou l’exécution, assurez-vous d’être sur l’utilisateur root. J’ai en fait eu une erreur étrange où j’essayais d’append un sous-module et git a continué à se plaindre que le chemin dans lequel je clonais était ignoré par un fichier git ignore. Ensuite, je suis passé à l’utilisateur root, j’ai à nouveau ajouté le sous-module et il n’y avait pas de problème.

Veuillez également vérifier ~/.gitignore et ~/.gitignore_global qui pourraient être créés par certains clients Git (par exemple, Atlassian SourceTree sous Mac OS X).

Assurez-vous que le fichier .gitignore ne .gitignore pas. Une erreur courante consiste à append une règle * au fichier .gitignore pour ignorer tous les fichiers du dossier en cours. La solution consiste à append une exception à .gitignore :

 * !.gitignore 

Ainsi, tous les fichiers du répertoire seront ignorés, à l’exception de .gitignore .

Dans mon cas, c’était la barre oblique sur mon chemin causant le problème …

Ne fonctionne pas

 /srv/bootstrap/ 

Travail

 srv/bootstrap/