Игнорирование файлов, уже находящихся в репо, БЕЗ их удаления

Допустим, у меня есть . файл 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 не должен был вносить какие-либо изменения? Разве это не так?

Есть идеи?

8
задан Jonathan Dumaine 30 August 2010 в 19:25
поделиться

1 ответ

Вы можете использовать:

$ git update-index --assume-unchanged -- .noise

update-index --assume-unchanged заставит Git продолжать отслеживать файл, но ваши изменения не будут отражены в индексе или добавлены в репо.

14
ответ дан 5 December 2019 в 12:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: