Одновременное создание ветвей в двух / более репозиториях в Git

#git #github #repository #branch

#git #github #репозиторий #ветка

Вопрос:

У меня есть приложение на C #, содержащее 20 проектов, все в одном репозитории в BitBucket.

Я хочу разделить это на 20 репозиториев.

Для этого мне нужен стандартный способ. Правильно ли разбивать эти многочисленные проекты на множество репозиториев или хранить их все в одном репозитории?

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

Я думаю о командах git для создания ветвей.

Есть ли какая-либо опция, встроенная в Bitbucket?

Спасибо, Р. Венкатесан

Ответ №1:

На данный момент у вас есть 20 проектов в 1 репозитории SVN. Теперь вам нужно 20 проектов в 20 репозиториях Git, для каждого проекта внутри одного репозитория Git. Все в порядке.

1 репозиторий — BigRepo.

20 проектов: P1, P2, P3, …, P20.

Шаг 1.Вы преобразуете / конвертируете репозиторий SVN в Git. Прочитайте руководство: https://git-scm.com/book/en/v2/Git-and-Other-Systems-Migrating-to-Git

Шаг 2. Создайте 20 репозиториев Git на сервере, назовите его R1, R2, R3, …, R20.

Шаг 3. Переместите BigRepo в репозиторий git в R1, удалите R2, R3, … R20. (1)

Переместите BigRepo в репозиторий git в R2, удалите R1, R3, … R20.

Переместите BigRepo в репозиторий git в R3, удалите R1, R2, … R20.

Переместите BigRepo в репозиторий git в R20, удалите R1, R2, … R19.

(1) Совет: для оптимизации размера каждого репозитория Git вам следует удалить ненужную папку с помощью:

 git rm --cached unnecessary_folder
  

перед отправкой на сервер Git. Например, в контексте (1),

 git rm --cached R2 R3 ... R20
  

(заменить ... на реальное имя папки)