Git / gitorious: способ поделиться определенными ветками / репозиториями с клиентом - PullRequest
3 голосов
/ 28 февраля 2011

Существует ли установленный способ передачи части кода проекта (который находится в ветви или в своем собственном хранилище) клиенту?

Что я пытаюсь решить:

Существуют разные модели, по которым наши клиенты могут получить доступ к исходному коду:

  1. Большинство наших клиентов заботятся не об исходном коде, а о встроенном программном обеспечении
  2. некоторыезаботясь об исходном коде, их версия была построена из
  3. у некоторых действительно есть разработчики, которые программируют вместе с нами, чтобы добавить функции в проект.

Учитывая, что мы используем git и internalЯ могу легко справиться с первыми двумя случаями:

  1. Дать им пакет со встроенным программным обеспечением
  2. Дать им пакет с программным обеспечением вместе с архивомкод, который дал это программное обеспечение.

Что меня действительно интересует, так это третий случай.

Внутренне все видят все, и мы разделяемвесь код.

Однако мы не хотим, чтобы клиенты видели все, а только их версию программного обеспечения.

Есть ли известный способ работы?это, например, с двумя репозиториями (т. е. «наше репо» и «клиентское репо»), с крючками, которые проталкивают и изменяют изменения, когда они просачиваются либо с нашей стороны, либо со стороны клиента?

Ответы [ 2 ]

1 голос
/ 01 мая 2011

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

Как только какой-то внешний разработчик отправил что-то в первое репо, вы можете перенести эти изменения и перенести в локальное репо --bare, и как только вы захотите поделиться кодом извне, вы просто нажмете, например, на. мастер по общему репо.

Редактировать: С вы я имею в виду вас как вашу организацию и с локальным я имею в виду вашу локальную сеть или локальную для вашей организации.

0 голосов
/ 28 февраля 2011

Я думаю, вы можете установить два репозитория, которые являются зеркалами.Каждый из них будет добавлен в виде двух пультов в ваши песочницы разработчика.Один будет для customer, а другой для internal.

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

...