J'ai un référentiel git qui ignore les fichiers image ainsi que quelques autres fichiers, mais mon .gitignore
fichier ne l'ignore qu'un config.php
fichier. Y a-t-il un fichier ignoré global 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 ~/.gitconfig
fichier n'est que mon adresse e-mail.
Réponses:
git check-ignore
Utilisez la
git check-ignore
commande pour déboguer votre fichier gitignore (exclure les fichiers).Par exemple:
Les détails de sortie ci-dessus sur le modèle correspondant (le cas échéant) pour chaque chemin donné (y compris la ligne).
Alors peut-être que votre extension de fichier n'est pas ignorée, mais tout le répertoire.
Le format renvoyé est:
Ou utilisez la commande suivante pour imprimer votre
.gitignore
dossier utilisateur HOME et référentiel:Vous pouvez également utiliser
git add -f
ce qui permet d'ajouter des fichiers autrement ignorés.Voir:
man gitignore
,man git-check-ignore
pour plus de détails.Syntaxe
la source
Il peut être bon de savoir que votre configuration git peut contenir un fichier core.excludesfile qui est un chemin vers un fichier avec des modèles supplémentaires qui sont ignorés. Vous pouvez savoir si vous avez une telle configuration en exécutant (dans le référentiel git problématique):
S'il imprime un chemin de fichier, consultez 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 icônes d'un dossier (je suis sur un système de fichiers insensible à la casse, c'est pourquoi Icon? correspond aux icônes).
la source
Icon?
ignoré.Découvrez-les:
Avez-vous recherché d'autres fichiers .gitignore, car il peut y en avoir beaucoup.
Regardez également REPO / .git / config pour voir s'il y a quelque chose là-dedans.
Repo exclude Les règles locales par dépôt peuvent être ajoutées au fichier .git / info / exclude de votre dépôt. Ces règles ne sont pas validées avec le repo et ne sont donc pas partagées avec d'autres. Cette méthode peut être utilisée pour les fichiers générés localement que vous ne vous attendez pas à ce que d'autres utilisateurs génèrent, comme les fichiers créés par votre éditeur.
la source
J'ai eu le même problème - un répertoire était ignoré par git avec cette erreur:
J'ai finalement compris que mon problème était une ligne dans mon
~/.gitignore_global
:qui correspondait au chemin
app/views/admin/tags
. Je l'ai corrigé en ajoutant une barre oblique principale au fichier global gitignoreet git a recommencé à suivre mon répertoire.
la source
help
répertoire qui était ignoré. Heureusement, j'ai trouvé votre réponse assez rapidement.Pour moi, j'ai accidentellement eu un joker dans mon fichier ~ / .gitignore_global. Peut-être vérifier là-bas?
la source
Autre chose à essayer: j'avais un répertoire B avec son propre
.git
référentiel imbriqué sous 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 crois que git A ignorait automatiquement B car il contenait son propre référentiel (voir Dépôts git imbriqués sans sous-modules? ). J'ai renommé le dossier B et essayé de le cloner à nouveau en tant que sous-module, ce qui m'apportait le message d'erreur trompeur "ignoré par .gitignore". La solution consistait à supprimer.git
B.la source
J'avais exactement le même problème que vous. La seule réponse que vous avez obtenue a répertorié 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'avais aucun autre fichier .gitignore caché plus bas dans l'arborescence des répertoires; rien dans .git / config; rien dans .git / ingore / exclude
Si vous rencontrez toujours le problème, 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éé ( je ne l' ai certainement pas fait), mais j'ai essayé une tonne de configurations git différentes lors de la première installation, donc l'un d'entre eux a dû l'y mettre.
J'espère que sa réponse vous aidera également!
la source
Une autre raison de recevoir ce message d'erreur de git est lors de l'exécution de la
git submodule add
commande alors qu'une commande git précédente s'est plantée et a quitté le fichier de verrouillage (cela peut arriver, par exemple, lorsque vous utilisez des scripts personnalisés qui incluent des commandes git et que vous n'avez pas noté le crash).Si vous exécutez la commande à la
git commit
place, alors qu'aucune des conditions n'a changé (git submodule add
continuera à crier que vos.gitignore
fichiers sont à blâmer), vous verrez un autre rapport d'erreur à la place:et en effet en supprimant le lockfile:
résout le problème. (Cela arrive à la version 2.1.0.9736 de git. Cela pourrait être corrigé dans les futures versions de git.)
la source
Vérifiez que vous avez l'autorisation d'accéder au dossier. Je viens de rencontrer ceci et c'était parce que le dossier appartenait à l'utilisateur www-data et non à l'utilisateur sous lequel j'étais connecté au terminal.
la source
Dans mon cas, c'était la barre oblique sur mon chemin qui causait le problème ...
Ne fonctionne pas
Travail
la source
Une dernière 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 sur l'utilisateur root. En fait, j'ai eu une erreur étrange où j'essayais 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é à l'utilisateur root, j'ai exécuté à nouveau l'ajout de sous-module et il n'y a pas eu de problème.
la source
Ce n'est peut-être pas
.gitignore
:skip-worktree
etassume-unchanged
Un fichier peut être ignoré pour les raisons suivantes:
.gitignore
(la combinaison de tous)git update-index --skip-worktree
git update-index --assume-unchanged
En outre, un fichier peut ne pas être ignoré s'il se trouve dans
.gitignore
ET déjà stocké dans l'index / le cache.Pour vérifier les cas énumérés ci-dessus:
Pour les deux cas d'
.gitignore
exclusions, comparez la sortie de:git check-ignore --verbose --non-matching --no-index file1 file2 file3
git check-ignore --verbose --non-matching file1 file2 file3
git ls-files file1 file2 file3 | grep -E '^S'
git ls-files file1 file2 file3 | grep -E '^[[:lower:]]'
C'est trop difficile, donnez-moi juste un pseudonyme!
L'alias suivant couvrira tous les cas énumérés ci-dessus:
Le commentaire et le final
"
font partie de la ligne à copier dans votre.gitconfig
.Usage:
la source
Veuillez également vérifier
~/.gitignore
et~/.gitignore_global
qui pourraient être créés par certains clients Git (par exemple Atlassian SourceTree sur Mac OS X).la source
Assurez-vous que le
.gitignore
fichier ne s'ignore pas. Une erreur courante consiste à ajouter une*
règle au.gitignore
fichier pour ignorer tous les fichiers du dossier actuel. La solution consiste à ajouter une exception à.gitignore
:De cette façon, tous les fichiers du répertoire seront ignorés, sauf
.gitignore
.la source