Я пытаюсь использовать 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
.