.gitignore не игнорирует файл в новом хранилище. Есть ли в файловом кеше больше, чем в каталоге .git? - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь использовать git в дополнение к mercurial и использовал мой файл .hgignore в качестве отправной точки.

Мой .gitignore file содержит строку:

./homeautomation/homeassistant/home-assistant_v2.db

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

wb@docker:~/stacks$ git init
Initialized empty Git repository in /home/wb/stacks/.git/

wb@docker:~/stacks$ git add . --ignore-errors

error: open("homeautomation/homeassistant/.storage/auth"): Permission denied
error: unable to index file homeautomation/homeassistant/.storage/auth
error: open("network/pihole/pihole/list.0.raw.githubusercontent.com.domains"): Permission denied
error: unable to index file network/pihole/pihole/list.0.raw.githubusercontent.com.domains
error: open("network/pihole/pihole/list.1.mirror1.malwaredomains.com.domains"): Permission denied
error: unable to index file network/pihole/pihole/list.1.mirror1.malwaredomains.com.domains
error: open("network/pihole/pihole/list.3.zeustracker.abuse.ch.domains"): Permission denied
error: unable to index file network/pihole/pihole/list.3.zeustracker.abuse.ch.domains
error: open("network/pihole/pihole/list.6.hosts-file.net.domains"): Permission denied
error: unable to index file network/pihole/pihole/list.6.hosts-file.net.domains

wb@docker:~/stacks$

Когда я делаю фиксацию, я вижу следующий файл, упоминаемый в сообщении фиксации:

новый файл: homeautomation / homeassistant / home-assistant_v2.db

Несмотря на то, что файл .gitignore специально настроен на игнорирование этого файла.

Я выполнил следующую команду:

git ls-files ./homeautomation/homeassistant/home-assistant_v2.db

Который вернул имя файла.После некоторого чтения я тогда сделал следующее.

wb@docker:~/stacks$ git rm --cached ./homeautomation/homeassistant/home-assistant_v2.db

error: the following file has staged content different from both the
file and the HEAD:
homeautomation/homeassistant/home-assistant_v2.db
(use -f to force removal)
wb@docker:~/stacks$

Затем я снова запустил команду с опцией «force», и файл исчез из сообщения фиксации.

У меня вопрос, почему я должен использовать git rm —cached, потому чтофайл никогда не должен был быть добавлен в первую очередь?При запуске не было каталога .git.

1 Ответ

0 голосов
/ 02 мая 2019

Ваш .gitignore файл содержит ./, которого не должно быть. Предполагается, что файлы относятся к верхнему уровню хранилища, если файл .gitignore также. Если вы удалите ./, то ваш файл должен быть правильно проигнорирован.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...