Как игнорировать изменения в файле, удаленном локально?
У нас в репозитории есть файл с именем aux.mk, а это имя в Windows зарезервировано (создавать файлы с таким именем нельзя). Итог: при чекауте гит пытается данный файл получить, но не может и помечает его удаленным.
Мне этот файл не нужен, использовать или изменять я его не собираюсь. Но из-за этого очень много проблем (плохо работает SourceTree, падает Atom и т.д.).
Коллеги, что делать? .gitignore естественно не работает. /.git/info/exclude почему-то тоже, хотя уже не понимаю, почему.
Работает git update-index -assume-unchanged aux.mk, однако эти настройки слетают при следующем чекауте из геррита. Если подскажете, как прописать эту команду целиком для проекта, это тоже будет ответом.
Так и есть! Спасибо что не предложили сменить ОСь! =)
P. S. согласен, что проще, файл в любом случае переименуем. Но, вдруг кто-то сталкивался с подобной проблемой и знает как её решать средствами Git'а?
Мигель Де Сервантес: а, точно. не вы2.7бывайся и разрабатывай на том, на чем вся команда! во! :-D по мне, так это не та проблема, которую надо решать средствами гита каждый день. это система контроля исходного кода, а не инструмент для игнорирования файлов :)
aol-nnov: увы, ПО, с которым я вынужден работать - не кроссплатформенное.
А насчёт гита не соглашусь, т.к. вопрос был как раз как решать такие проблемы не каждый день, а один раз. Впрочем, ларчик открывался просто, оказывается.
Спасением оказался sparse-checkout!
Единственное, что обновлять дерево надо через git read-tree --reset -u HEAD, а не с ключом "-m", как предлагают во многих инструкциях (ключ -m пытается смёржить текущие изменения с новым деревом, а --reset их сбрасывает)