Защита файлов в репозитории мерзавца

У меня есть центральный репозиторий с подмножеством файлов, которые я хочу защитить от того, чтобы быть измененным (путем продвижения) от других пользователей. Если я добавляю эти файлы к .gitignore, они не были бы клонированы.

Действительно ли возможно дать способность клонировать все файлы, но после клонирования добавляют некоторых из них к .gitignore на стороне клиента?

10
задан DrCord 19 August 2015 в 17:57
поделиться

2 ответа

Есть ли конкретная причина, по которой Git сам по себе должен быть ответом на это?

Как насчет того, чтобы сделать файлы доступными только для чтения и диктовать как policy, что эти файлы не должны передаваться?

Иногда технологическое решение не является самым простым способом.

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

0
ответ дан 4 December 2019 в 04:20
поделиться

Сначала я думал о драйвере фильтра (см. Pro Book), который бы:

  • на шаге smudge сохранял содержимое ваших файлов
  • на шаге clean восстанавливал содержимое ваших файлов.

alt text

Но это не очень хорошее решение, поскольку эти скрипты относятся к stateless преобразованию содержимого файлов (см. этот ответ SO).

Вы можете попробовать применить механизм сохранения/восстановления в хуках (см. тот же ответ SO), но учтите, что он будет локальным для вашего репо (он защитит ваши файлы только в вашем репо, хуки не пихаются)

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

git update-index --assume-unchanged file

См. "С git, временно исключить изменённый отслеживаемый файл из коммита в командной строке", опять же только локальная защита. Это защитит их от внешнего push в ваше репо ("импорт"), но если вы опубликуете их ("экспорт"), то они могут быть изменены на стороне клиента.

1
ответ дан 4 December 2019 в 04:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: