Могу ли я создать вилку GIT с ограниченным набором веток

В моем родительском репозитории есть ветки master, development, release и feature. Я хочу создать форк только с ветвью master, development и release.

Возможно ли это с GIT. Как мне этого добиться?


person Ankur    schedule 30.03.2017    source источник
comment
Я предполагаю, что ваше репозиторий git находится на github?   -  person Lorenzo Marcon    schedule 30.03.2017
comment
Я использую Bitbucket.   -  person Ankur    schedule 30.03.2017
comment
Вы можете fork родительское репо, а затем удалить ветку в разветвленном репо (в конце концов, разветвленное репо принадлежит вам).   -  person Alejandro Montilla    schedule 30.03.2017


Ответы (1)


Это как бы зависит от того, что вы имеете в виду, говоря о том, что нужны только определенные ветки. Или, что более важно, о том, что вы надеетесь получить, имея только определенные ветки.

Если это так же просто, как желание получить более короткий список ссылок, когда вы git branch --list --all, тогда предложение Алехандро Монтильи (вилка, а затем удаление веток) должно сработать.

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

Может быть, вам нужно что-то еще более сложное ... многие люди, кажется, находят историю, которая сохраняет исходную топологию ветвей как «беспорядочную», и они хотят «очистить ее» - большая часть мотивации, стоящей за различными операциями по перемещению. Это потребует избавления не только от объединенных ветвей, но и от коммитов в (одной строке) истории слияния. Нет простого способа сделать это с существующей историей (и если вы это сделаете, любые отношения между результирующим репо и родительским репо будут безвозвратно потеряны). Так что, если это то, что вам нужно, вы можете подумать о том, чтобы переформулировать проблему с точки зрения того, как улучшить внешний вид вывода журнала для существующей истории.

person Mark Adelsberger    schedule 30.03.2017
comment
Спасибо за предложение. Чтобы немного прояснить формулировку проблемы. Я создаю платформу, и в ней постоянно развиваются различные функции и, следовательно, те ветви, которые в конечном итоге объединятся и закроются. Что касается модели распространения (внутренне), люди, принимающие платформу, должны иметь возможность выполнять форк из моего репозитория для разработки, не получая всех этих дополнительных ссылок. Так что да, я хотел бы, чтобы вилки были легче, чем родительский репо. - person Ankur; 30.03.2017
comment
Хм ... Я думаю, вы могли бы заставить их делать клонов с опцией --single-branch; это удовлетворило бы потребность? - person Mark Adelsberger; 30.03.2017