Управление файлами через Git, которые никогда не будут зафиксированы - PullRequest
4 голосов
/ 21 января 2011

У меня есть несколько файлов на моем компьютере, которые всегда будут отличаться от тех, которые находятся в нашем Git-репозитории (файл ASP web.config, который имеет различные настройки для моего локального ящика с наших производственных серверов, и файл .rds дляслужбы отчетов, в которой указаны мои индивидуальные учетные данные для подключения к нашему серверу отчетов).Что вы порекомендуете для работы с Git в этом сценарии?

Чего я не хочу, так это хранить эти файлы каждый раз, когда я фиксирую.Также я не хочу создавать ветку, которая содержит эти 2 файла, потому что тогда при каждом коммите я должен сначала фиксировать в основную ветвь и оттуда dcommit в основное репозиторий SVN, который мы используем.Также не стоит игнорировать эти файлы, так как другие могут вносить в них изменения, которые мне понадобятся.

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

Ответы [ 3 ]

4 голосов
/ 21 января 2011

Смазанные / чистые сценарии - способ справиться с этим. По существу, когда они извлекаются, пустая строка подключения заменяется вашей строкой подключения dev. При фиксации строка подключения «очищается» вторым сценарием, а в хранилище имеется версия с пустой строкой.

alt text

alt text

Теперь, когда вы выполните diff и в этом файле есть изменения, они будут теми, которые никогда не изменятся.

При развертывании я бы на этом не остановился. Вы хотите развернуть сценарии, которые обрабатываются отделом ИТ-систем и находятся вне вашего рабочего процесса.

Вы можете узнать больше об этом здесь: https://git -scm.com / book / en / v2 / Customizing-Git-Git-Attributes # _keyword_expansion

надеюсь, это поможет.

1 голос
/ 21 января 2011

Я проверяю в общем конфигурационном файле, который дополнен не версионной локальной конфигурацией .gitignore-d. Кажется, это стандартный способ сделать это.

0 голосов
/ 21 января 2011

Используйте файл .gitignore и зарегистрируйте его в своем хранилище.

http://git -scm.com / Docs / gitignore

Однако, проверьте пример web.config.sample, который позволяет новым разработчикам быстро скопировать файл как web.config для начала. Возможно, вы захотите написать простой скрипт или файл README в корне проекта, который объясняет людям, как начать работу с проектом. Вы также можете поместить другие специфичные для пользователя файлы, которые не важны для проекта, например файлы .suo.

...