Добавьте файл в репозиторий git, но игнорируйте его будущие изменения

Я хочу добавить overrides.json. Это позволяет разработчикам вносить изменения в объект конфигурации локально. Я хочу, чтобы он был добавлен в репозиторий в состоянии по умолчанию, но я хочу, чтобы будущие изменения на нем игнорировались.

Кажется, что .gitignore заставляет меня удалить его из ветки, прежде чем я смогу его игнорировать. Я знаю о git update-index, но каждый разработчик должен будет сделать это вручную. Чтобы уточнить, я не хочу, чтобы файл был удален; Я действительно хочу, чтобы файл был добавлен в репозиторий, но без следа.

Я не могу просто удалить его, потому что GET запросы на отсутствующий файл вызывают уродливые сообщения об ошибках в консоли javascript браузера.

Ответы

Ответ 1

После добавления файла вы можете игнорировать все дальнейшие изменения, выполнив:

git update-index --assume-unchanged path/to/file

Если в какой-то момент вы решите, что вам нужно нажать больше изменений, вы можете снова разрешить изменения:

git update-index --no-assume-unchanged path/to/file

Вместо добавления файлов в репо, почему бы не игнорировать их и не добавлять их в другое место, например. каталог установки. Таким образом, после клонирования репо, разработчикам необходимо будет выполнить шаг init, который скопирует нужные файлы в нужное место, где они будут проигнорированы.

Ответ 2

Игнорировать его и не добавлять в репо. Вместо этого сгенерируйте версию по умолчанию в make файле проекта, если она не существует. Предполагая, что у вас есть make файл или какой-либо процесс make или build.