Git игнорирует файлы, которые не находятся в gitignore
у меня есть репозиторий git, который игнорирует файлы изображений, а также несколько других файлов, но мой .gitignore файл имеет только игнорирование . Есть ли какой-то глобальный файл игнорирования, который я не могу найти? Я должен указать файлы, чтобы добавить их сейчас, и это дает мне это предупреждение:
следующие пути игнорируются одним из ваших .гитюдного файлы.
содержимое только мой e-mail адрес.
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, который проигнорировал значок шаблон'?- что мой случай дал мне предупреждение, упомянутое в этом вопросе, для значков папок (я нахожусь в нечувствительной к регистру файловой системе, поэтому значок? соответствует значкам).
посмотреть:
вы искали других .файлы gitignore, так как их может быть много.
кроме того, посмотрите на РЕПО/.git / config, чтобы увидеть, есть ли что-нибудь там.
РЕПО исключить локальные правила для каждого РЕПО могут быть добавлены к.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