#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
(заменить ...
на реальное имя папки)