Игнорирование файлов уже в репо БЕЗ их удаления - PullRequest
8 голосов
/ 30 августа 2010

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

Есть идеи?

1 Ответ

14 голосов
/ 31 августа 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...