2012-02-23 4 views
3

Я хотел бы иметь две вилки проекта: один для внутреннего использования в компании и другой для open source. Я хотел бы иметь все элементы, относящиеся к развертыванию, в исходном дереве (например, рецепт развертывания и конфигурация базы данных и файл начальной загрузки для версии и т. Д.).Предотвращение выталкивания из ветки на конкретный удаленный

Как я предполагал, это было то, что у меня было бы две ветви, например master и internal. В этом случае одна вещь, которую я хотел бы предотвратить, - это толкать ветвь internal на Github, поскольку она будет содержать конфиденциальную информацию. Затем я перехожу к вишневым изменениям из ветки internal в мастер.

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

Или есть лучший рабочий процесс для разработки двух вилок в замке для такого рода ситуаций?

ответ

2

Как только кто-то клонировал ваше репо, он (или она, конечно) имеет полный доступ ко всем филиалам, хранящимся в репо. Вы не можете помешать ему (или ей, конечно) отталкивать полное репо куда-то или даже сделать источники доступными в Интернете.

Если вы хотите сохранить секретные вещи в секрете, установить два репо, один для master и один для internal и затем cherry-pick необходимые коммитов internal к master как вы намеревались сделать.

Для этого добавьте репо internal как удаленный от master репо. Находясь на master сделать

git remote add internal /path/to/internal 

Если вы хотите принять совершающее от internal к master, просто fetch последние ревизии internal в master

git fetch internal 

затем проверить коммиты должны быть приняты и cherry-pick их использованием

git cherry-pick <SHA1> 
Смежные вопросы