Clone Git ветки в новый репозиторий - PullRequest
0 голосов
/ 27 июня 2018

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

1 Ответ

0 голосов
/ 27 июня 2018

Вы можете клонировать весь репозиторий, а затем удалить ненужные части, используя git filter-branch.

Вот как вы удаляете один файл из истории хранилища:

git filter-branch --prune-empty --index-filter 'git rm --cached --ignore-unmatch filename' HEAD

где filename - путь к файлу, который вы хотите удалить.

Или, если часть, которую вы хотите сохранить, находится в одном каталоге, вы можете сделать

git filter-branch --subdirectory-filter foodir -- --all

Это переписывает историю, как если бы foodir/ был корнем проекта, и отбрасывает всю другую историю.

Внимательно прочитайте документацию , чтобы применить ее для вашего конкретного случая.

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