Мерзавец несколько подпроектов от sub папок?

У меня есть несколько проектов, которые я хотел бы поднять на GitHub.com. Все эти проекты находятся в моем локальном репозитории Мерзавца. У меня есть всего один репозиторий, но для каждого проекта, я хотел бы иметь 1 проект GitHub. Тем путем ошибки могут быть организованы проектом.

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

Walter

12
задан Chozabu 13 January 2014 в 02:42
поделиться

2 ответа

В зависимости от того, как организовано ваше репо, вы можете использовать git filter-branch для создания нового репо для каждого проекта, сохраняя историю только для каждого отдельного проекта .

Предполагая, что ваша текущая структура репо выглядит следующим образом:

repo/
  project1/
    project1-file
  project2/
    project2-file
  project3/
    project3-file

Вы можете сначала клонировать свое репо ( git filter-branch удалит файлы и ] их историю, поэтому сначала клонируйте исходное репо ).Затем в своем клонированном репо вы можете использовать git filter-branch для создания нового репо (со всей старой историей) в корне project1 :

$ git filter-branch --subdirectory-filter project1 HEAD

Теперь ваш Репо будет выглядеть следующим образом:

repo/
  project1-file

И он по-прежнему будет содержать историю для всех файлов, которые хранились в project1 / в старом репо.

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

16
ответ дан 2 December 2019 в 07:20
поделиться

Если я понимаю вопрос, у вас есть одно большое репо, содержащее несколько проектов. Вы хотели бы разбить каждый из этих проектов на отдельные репозитории, не теряя истории. Итог - да, вам нужно переделать макет репозитория и создать новые репозитории git для каждого проекта. Однако вам не нужно терять историю.

  1. Сделайте копию вашего текущего репо, по одной копии для каждого подпроекта.
  2. В каждом из новых репозиториев удалите все другие проекты, кроме проекта, связанного с этим репо.

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

Если вы не против потерять свою историю, превратить каждый проект в его собственное репозиторий git так же просто, как запустить git init в каталоге проекта. Это создаст новое репо только для этого проекта.

5
ответ дан 2 December 2019 в 07:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: