Git игнорирует файлы, которые не находятся в gitignore



у меня есть репозиторий git, который игнорирует файлы изображений, а также несколько других файлов, но мой .gitignore файл имеет только игнорирование . Есть ли какой-то глобальный файл игнорирования, который я не могу найти? Я должен указать файлы, чтобы добавить их сейчас, и это дает мне это предупреждение:




следующие пути игнорируются одним из ваших .гитюдного файлы.




содержимое только мой e-mail адрес.

690   13  

13 ответов:

git check-ignore

использовать git check-ignore команда для отладки вашего файла gitignore (исключить файлы).

например:

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

приведенные выше выходные данные о соответствующем шаблоне (если таковой имеется) для каждого заданного пути (включая строку).

так что, возможно, ваше расширение файла не игнорируется, но весь каталог.

возвращенный формат:

<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>

или используйте следующую команду для печати .gitignore в папке пользователя HOME и репозитория:

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

можно использовать git add -f, который позволяет добавлять в противном случае игнорируемые файлы.

посмотреть: man gitignore,man git-check-ignore для более подробной информации.

синтаксис

git check-игнорировать [параметры] путь...

git check-ignore [options] --stdin

было бы неплохо знать, что ваша конфигурация git может содержать ядро.excludesfile-это путь к файлу с дополнительными шаблонами, которые игнорируются. Вы можете узнать, есть ли у вас такая конфигурация, запустив (в проблемном репозитории git):

git config core.excludesfile

если он печатает путь к файлу, посмотри на содержимое этого файла для получения дополнительной информации.

в моем случае я установил git через старую версию boxen, который проигнорировал значок шаблон'?- что мой случай дал мне предупреждение, упомянутое в этом вопросе, для значков папок (я нахожусь в нечувствительной к регистру файловой системе, поэтому значок? соответствует значкам).

посмотреть:

  1. вы искали других .файлы gitignore, так как их может быть много.

  2. кроме того, посмотрите на РЕПО/.git / config, чтобы увидеть, есть ли что-нибудь там.

  3. РЕПО исключить локальные правила для каждого РЕПО могут быть добавлены к.git / info / exclude file в вашем РЕПО. Эти правила не фиксируются с РЕПО, поэтому они не передаются другим. Этот метод может быть использован для локально сгенерированных файлы,которые вы не ожидаете от других пользователей, например файлы, созданные вашим редактором.

у меня была та же проблема - каталог игнорировался git с этой ошибкой:

➭ 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

я наконец понял, что моя проблема была линия в моем ~/.gitignore_global:

TAGS

который соответствовал пути app/views/admin/tags. Я исправил это, добавив ведущую косую черту в глобальный файл gitignore

/TAGS

и git снова начал отслеживать мой каталог.

для меня у меня случайно был подстановочный знак в моем~/.файл gitignore_global. Может быть, проверить там?

еще одна вещь, чтобы попробовать: у меня был каталог B со своим собственным .git репозиторий вложен в мой каталог проекта A (но не как подмодуль). Я внес некоторые изменения в B и хотел превратить его в подмодуль bonafide. Я считаю, что git a автоматически игнорировал B, потому что он содержал свой собственный репозиторий (см. вложенные репозитории git без подмодулей?). Я переименовал папку B и попытался клонировать ее снова как подмодуль, и это принесло мне вводящее в заблуждение " игнорируется .гитюдного" сообщение об ошибке. Решение было удалить .git из Б.

У меня была точно такая же проблема как у вас. Единственный ответ, который вы получили, перечислил несколько мест для проверки, но ни один из них не решил проблему для меня, и из вашего комментария я тоже не думаю, что для вас. Другого у меня не было .гитюдного файлы скрываются ниже в дереве каталогов; ничего .в git/config; в ничего .мерзавец/не замечать/исключить

Если у вас все еще есть проблема, проверьте ответ. Это решило проблему для меня

в принципе, проверьте ~/.файла.gitignore Моя называлась ~/.gitignore_global. Я не знаю, когда он был создан (Я конечно, не сделал этого), но я попробовал тонну разных настроек git, когда я впервые установил, поэтому один из них должен был положить его туда.

надеюсь, что его ответ поможет вам, как хорошо!

еще одна причина для получения этого сообщения об ошибке от git является при выполнении git submodule add команда в то время как предыдущая команда git разбилась и оставила файл блокировки (это может произойти, например, при использовании пользовательских сценариев, которые включают команды git, и вы не заметили сбой).

если вы выполните команду git commit вместо этого, пока ни одно из условий не изменилось (git submodule add будут продолжать кричать, что ваш .gitignore файлы виноваты), вы увидите другое отчет об ошибке:

$ 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.

и в самом деле, удалив файл:

rm .git/index.lock

решает проблему. (Это происходит с Git версии 2.1.0.9736. Это может быть исправлено в будущих выпусках git.)

проверьте, что у вас есть разрешение на папку. Я только что столкнулся с этим, и это было потому, что папка принадлежала пользователю www-data, а не пользователю, с которым я вошел в терминал.

еще одна вещь: если каталог, в котором вы находитесь, требует корневого доступа для записи или выполнения, убедитесь, что вы находитесь на корневом пользователе. Я действительно получил странную ошибку, когда я пытался добавить подмодуль, и git продолжал жаловаться, что путь, в который я клонировал, игнорировался файлом git ignore. Затем я перешел на пользователя root, снова запустил подмодуль add, и проблем не было.

пожалуйста, проверьте ~/.gitignore и ~/.gitignore_global который может быть создан некоторыми клиентами Git (например, Atlassian SourceTree на Mac OS X).

убедитесь, что .gitignore файл не игнорирует себя. Распространенной ошибкой является добавление * правила .gitignore файл, чтобы игнорировать каждый файл в текущей папке. Решение этой проблемы заключается в добавлении исключения в .gitignore:

*
!.gitignore

таким образом, все файлы в каталоге будут игнорироваться, кроме .gitignore.

в моем случае это была прямая косая черта на моем пути, вызывающая проблему...

Не Работает

/srv/bootstrap/

работа

srv/bootstrap/

Comments

    Ничего не найдено.