Перемещение части репозитория Git в другой репозиторий, сохраняющий историю - PullRequest
0 голосов
/ 14 января 2020

В этом посте Я видел метод клонирования всего хранилища Git с сохранением истории. Сейчас я пытаюсь разделить два репозитория на две части, чтобы одна папка в моем текущем репозитории стала его собственным независимым репозиторием. Я хотел бы сделать так, чтобы эта папка была клонирована по существу с сохранением истории, но чтобы сохранилась только история, относящаяся к файлам в этой конкретной папке. Это возможно?

1 Ответ

0 голосов
/ 14 января 2020

Клонируйте репо, затем используйте очиститель репозитория BFG, чтобы удалить все файлы в другом каталоге и все коммиты, оставшиеся пустыми из-за этой очистки.

Затем снова клонируйте исходное репо, промойте и повторите для другого каталога.

Вы можете найти очиститель репо BFG здесь:

.

 git clone --mirror git://example.com/some-big-repo.git
 java -jar bfg.jar --delete-folders RemoveMe --delete-files RemoveMe
 cd some-big-repo.git $ git reflog expire --expire=now --all && git gc --prune=now --aggressive 
...