Как мне создать новый репозиторий git из папки в существующем репозитории git? - PullRequest
7 голосов
/ 24 марта 2011

Я хочу создать новый репозиторий git для папки в существующем репозитории git.Я хочу, чтобы история была сохранена в новом хранилище.Как мне создать этот новый репозиторий git?

Ответы [ 3 ]

5 голосов
/ 24 марта 2011

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

См. Отсоединение подкаталога в отдельный репозиторий Git

Обратите внимание на git clone --no-hardlinks /XYZ /ABC, использованный на этапе клонирования:

Ключ --no-hardlinks позволяет git использовать реальные копии файлов вместо жестких ссылок при клонировании локального репозитория.

2 голосов
/ 24 марта 2011

Предполагая, что вы хотите сохранить подкаталог как отдельный проект: вы можете использовать git filter-branch для этого.

  1. Создать новую ветку
  2. Определите «древовидный фильтр», который реорганизует извлеченную копию так, как вам нужно, в идеале в виде отдельного скрипта
  3. Пробег git filter-branch --tree-filter=/path/to/script thebranch

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

0 голосов
/ 24 марта 2011

Вы можете клонировать его и сохранить нужные файлы;история будет сохранена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...