Как остановить отслеживание файла, не удаляя его из РЕПО
У меня есть конфигурационный файл, который я хочу сохранить в удаленном хранилище, но я не хочу отслеживать его изменения на своем компьютере. Добавление его к .гитиньор этого не делает.
Причина, по которой я не хочу отслеживать изменения, заключается в том, что они должны отличаться между компьютерами в зависимости от их среды.
4 ответов:
Если это так, то вы вообще не должны иметь версию файла; вы должны создать версию шаблона файла. Например, если файл конфигурации равен
foo/config.txt, то в репозитории должен быть версионныйfoo/config.txt.templateс примерными (или пустыми) настройками конфигурации.foo/config.txtвообще не должно быть в репозитории, и его следует игнорировать с помощью.gitignore.Затем, в новом клоне, вы просто копируете
foo/config.txt.templateвfoo/config.txtи изменяете настройки соответствующим образом.
Если вы хотите временно прекратить отслеживание файла, вы все еще можете использовать
git update-index --assume-unchanged <file> // track changes again : git update-index --no-assume-unchanged <file>
Вы можете зафиксировать все остальные файлы, а для изменения только локальных конфигураций вы можете использовать функцию 'stash', которую предоставляет git.
Вам нужно будет сделать комбинацию .файл gitignore и git rm-кэшируются. Используйте следующую команду:
Git rm -- кэшированное имя файла.txt
Это приведет к удалению файла из индексирования, но сохранит его в вашем хранилище и рабочей области. После применения rm -- cached вам нужно будет зафиксировать изменения, чтобы они вступили в силу. Он будет отображаться как удаленный в отслеживаемых изменениях, но это только потому, что он был удален из индексирования. Примечание: Если вы сделаете изменения в нем снова в будущие коммиты вам придется запустить: git rm -- cached, чтобы отследить изменения в файле от конкретного коммита.
Comments