yeleleo
@yeleleo

Работа над одним файлом в Git используя <format-patch>?

Есть необходимость предоставить человеку один файл/одну папку/группу папок из всего git репозитория для доработки.

По некоторым причина нельзя давать сделать $ git clone всего проекта.


Изменения будут применяться используя $ git format-patch и в нем, соответсвенно, не должно содержаться изменений к другим файлам.


Каким образом можно передать другому пользователю (вообще без доступа к репозиторию) папку для работы и потом получить от него рабочий и вполне применимый *.patch?
  • Вопрос задан
  • 3214 просмотров
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Если ему нужна история изменений сделайте отфильтрованный клон своего проекта, в котором оставьте только нужные (у меня — path-to-preserve) каталоги в нужных ветках (у меня — HEAD, т.е. текущая):
git filter-branch --tree-filter "find -not \( -path './path-to-preserve*' -o -path './.git' -o -path './.git/*' \) -delete" --prune-empty HEAD

и уже этот клон отдайте.

Если история не нужна — создайте репозиторий из этого единственного каталога и отдайте его.

Изменения будут применяться используя $ git format-patch и в нем, соответсвенно, не должно содержаться изменений к другим файлам.

Наверно, всё-таки, git am будут применяться изменения. Ничто, однако, не помешает другому пользователю создать файлы за пределами переданного ему каталога и включить их в свои патчи. С другой стороны, эти патчи можно собрать в новый репозиторий, который тоже отфильтровать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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