Допустим, у меня есть . файл noise
в корне моего репозитория. Этот файл часто изменяется и передается в удаленное хранилище другим членам моей команды.
Я хочу полностью игнорировать этот файл, пока я сам что-то фиксирую, но я все еще хочу получить изменения от других, и я не хочу удалять файл. Если я использую .git / info / exclude
, то мне нужно git rm --cached
файл, чтобы он не отображался в репо.
Теперь это приводит меня от:
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: .noise
#
# No changes added to commit (use "git add" and/or "git commit -a")
к:
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# deleted: .noise
#
«Изменения, которые нужно совершить» пугает меня. Я не хочу отодвигать удаление .noise
обратно на удаленный компьютер, я не хочу, чтобы он также удалялся на моей файловой системе. Я просто не хочу, чтобы Git видел или имел какое-либо отношение к этому. Я подумал , что git rm --cached
не должен был вносить какие-либо изменения? Разве это не так?
Есть идеи?
Вы можете использовать:
$ git update-index --assume-unchanged -- .noise
update-index --assume-unchanged
заставит Git продолжать отслеживать файл, но ваши изменения не будут отражены в индексе или добавлены в репо.