Git сохранить исходный файл и не отслеживать его изменения - PullRequest
1 голос
/ 29 января 2020

У меня есть файл конфигурации config.env в моем хранилище. Мой код вносит изменения в этот файл на основе некоторых параметров среды с помощью сценария оболочки. Я sh не должен отслеживать изменения в этом файле c и продолжать вносить новые изменения в код, продолжая извлекать исходный config.env, даже если он может быть изменен во время выполнения кода. Как я могу это сделать?

Причина, по которой я снова опубликовал этот вопрос как популярный ответ на использование git update-index --assume-unchanged, явно отклонена документацией.

1 Ответ

0 голосов
/ 30 января 2020

Лучший способ сделать это - создать файл шаблона (скажем, config.env.template) и сохранить его в хранилище и игнорировать фактический файл (config.env), который вы изменяете в локальной системе. Таким образом, можно сохранить изменения в файле шаблона в репозитории, но при этом иметь свои локальные модификации.

Обратите внимание, что git update-index --assume-unchanged, хотя и рекомендуется, не работает должным образом и не должен быть используется для этого, согласно документации Git:

Пользователи часто пытаются использовать биты предположения без изменений и пропуска рабочего дерева, чтобы Git игнорировать изменения в отслеживаемых файлах. Это не работает должным образом, поскольку Git может по-прежнему проверять файлы рабочего дерева по индексу при выполнении определенных операций. Как правило, Git не позволяет игнорировать изменения в отслеживаемых файлах, поэтому рекомендуются альтернативные решения.

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