J'ai un référentiel git qui ignore les fichiers image ainsi que quelques autres fichiers, mais mon fichier .gitignore
ne l'ignore qu'un fichier config.php
. Existe-t-il un fichier global ignore quelque part que je n'arrive pas à trouver? Je dois spécifier des fichiers pour les ajouter 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
ne représente que mon adresse de messagerie.
Il peut être intéressant de savoir que votre configuration git peut contenir un fichier core.excludes, qui est un chemin d'accès à un fichier contenant des modèles supplémentaires qui sont ignorés. Vous pouvez savoir si vous avez une telle configuration en exécutant (dans le dépôt git problématique):
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?' cela dans mon cas m'a donné l'avertissement, mentionné dans cette question, pour une icône de dossier (je suis sur un système de fichiers insensible à la casse, c'est pourquoi Icon?.
Découvrez ceux-ci:
Avez-vous cherché d'autres fichiers .gitignore, car ils peuvent être nombreux.
Regardez aussi REPO/.git/config pour voir s’il ya quelque chose.
Exclusion de référentiel Des règles locales de référentiel peuvent être ajoutées au fichier .git/info/exclude de votre référentiel. Ces règles ne sont pas validées dans le référentiel, elles ne sont donc pas partagées avec les autres. Cette méthode peut être utilisée pour les fichiers générés localement que vous ne souhaitez pas générer par d'autres utilisateurs, tels que 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 caractère générique dans mon fichier ~/.gitignore_global. Peut-être vérifier là-bas?
Une autre chose à essayer: je possédais un répertoire B avec son propre référentiel .git
imbriqué dans le 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 crois que git A ignorait automatiquement B car il contenait son propre référentiel (voir Référentiels git imbriqués sans sous-modules? ). J'ai renommé le dossier B et essayé à nouveau de le cloner en tant que sous-module, ce qui m'a amené le message d'erreur trompeur "ignoré par .gitignore". La solution consistait à supprimer .git
de B.
J'avais exactement le même problème que toi. La seule réponse que vous avez eue a énuméré quelques endroits à vérifier, mais aucun d’eux n’a résolu le problème pour moi, et de votre commentaire, je ne pense pas pour vous non plus. Je n'avais pas d'autres fichiers .gitignore cachés plus bas dans l'arborescence de répertoires; rien dans .git/config; rien dans .git/ingore/exclude
Si le problème persiste, vérifiez cette réponse . Cela a résolu le problème pour moi
En gros, recherchez un fichier ~/.gitignore. Le mien s'appelait ~/.gitignore_global. Je ne sais pas quand il a été créé (I n'y est certainement pas parvenu), mais j'ai essayé une tonne de configurations différentes de git lors de ma première installation, donc l'un d'entre eux doit l'avoir mise là.
J'espère que sa réponse vous aidera aussi!
Une autre raison de recevoir ce message d'erreur de la part de git est lors de l'exécution de la commande git submodule add
alors qu'une commande précédente de git s'est bloquée et a laissé le fichier verrou (cela peut arriver, par exemple, lorsque vous utilisez des scripts personnalisés qui incluent des commandes git et que vous n'avez pas notés le crash).
Si vous exécutez la commande git commit
à la place, alors qu'aucune des conditions n'a changé (git submodule add
continuera à crier que vos fichiers .gitignore
sont à blâmer), vous verrez à la place une autre} rapport d'erreur:
$ 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 lockfile:
rm .git/index.lock
résout le problème. (Cela arrive à la version 2.1.0.9736 de Git. Cela pourrait être corrigé dans les prochaines versions de Git.)
Vérifiez que vous êtes autorisé à accéder au dossier. Je viens de rencontrer ceci et c’est parce que le dossier appartenait à l’utilisateur www-data et non à l’utilisateur pour lequel je suis connecté au terminal.
Encore une chose: si le répertoire dans lequel vous vous trouvez nécessite un accès root pour l'écriture ou l'exécution, assurez-vous que vous êtes bien sur l'utilisateur root. En fait, j'ai eu une erreur étrange en essayant d'ajouter un sous-module et git n'arrêtait pas de se plaindre que le chemin dans lequel je clonais était ignoré par un fichier git ignore. Ensuite, je suis passé en utilisateur root, j'ai lancé de nouveau le sous-module Add, et il n'y a pas eu de problème.
Dans mon cas, c’était la barre oblique qui posait le problème ...
Pas travail
/srv/bootstrap/
Travail
srv/bootstrap/
Veuillez également cocher ~/.gitignore
et ~/.gitignore_global
qui pourraient être créés par certains clients Git (par exemple, Atlassian SourceTree sur Mac OS X).
Assurez-vous que le fichier .gitignore
ne s’ignore pas lui-même . Une erreur courante consiste à ajouter une règle *
au fichier .gitignore
pour ignorer tous les fichiers du dossier en cours . La solution consiste à ajouter une exception à .gitignore
:
*
!.gitignore
De cette façon, tous les fichiers du répertoire seront ignorés, à l'exception de .gitignore
.