git игнорирует восстановленный удаленный файл

#git #cygwin

#git #cygwin

Вопрос:

Прежде чем кто-нибудь спросит, здесь нет .gitignore

У меня было два файла: foo1.tex и foo2.yaml

Я сделал git rm foo1.tex foo2.yaml; git commit -m 'yada yada'

Продолжал работать…

Затем все изменилось, и мне понадобились эти файлы обратно:

 git checkout long_rev_id^ -- foo1.tex
git checkout long_rev_id^ -- foo2.yaml
  

состояние git показывает только файл yaml, поэтому
Я пошел дальше и зафиксировал этот

Но, похоже, git даже не видит файл foo1.tex. git status foo1.tex ничего не показывает о файле, о котором я спрашивал. Добавление -v не помогает.

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

Кстати, файл есть, и я могу его прочитать. Похоже, это не разрешения.

Я удалил файл .gitignore, так что это не должно быть проблемой.

git check-ignore -v foo1.tex ничего не показывает

Git ненавидит файлы .tex? 😉

Почему git отказывается подтвердить файл?

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

Как я могу узнать больше о том, что git знает об этом файле?

Я запускаю git 2.17.0 в Cygwin на 64-разрядной версии Windows 10 (NTFS)

Комментарии:

1. Я предполагаю, что он даже не отображается в неотслеживаемых файлах, верно? Проверьте это: git check-ignore -v foo1.tex и дайте нам знать по вопросу

2. Это определенно не значит, что git не увидит файл, потому что он был ранее удален; удаление и повторное добавление файлов происходит постоянно. Во всяком случае, это звучит так, как будто файл никогда не удалялся и, следовательно, уже находился в состоянии фиксации. Если вы переименуете файл во что-то другое ( mv foo1.tex foo1.bak ), а затем запустите git status --no-renames , что вы увидите?

3. Опция —no-renames недоступна в git 2.17.0

Ответ №1:

Ладно, я идиот.

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

Ошибка пользователя … 🙁

Спасибо всем, кто предложил помощь

Комментарии:

1. Нет, это не так. 🙂 Спасибо за отзыв.