Как разделить подкаталог на собственный репозиторий? - PullRequest
2 голосов
/ 29 января 2020

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

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

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

1 Ответ

1 голос
/ 29 января 2020

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

С это :

Перед добавлением поддерева к my-app-repo, разделите поддерево от my-company-library-repo:

# In my-company-library-repo
git subtree split -P src/app/providers/... -b feature-new feature

Это создаст новую историю с содержанием src/app/providers/... в root репо, начиная в ветви feature и создайте ветвь feature-new в конце этой истории.

Затем добавьте эту новую ветвь в качестве поддерева к my-app-repo:

# In my-app-repo
git subtree add -P <destination-dir/feature> --squash <my-company-library-repo> feature-new

I дополнить командами для обновления my-company-library-repo с изменениями от my-app-repo

git subtree push -P <destination-dir/feature> <my-company-library-repo> feature-new

Это разделит изменения от <destination-dir/feature>, pu sh их на ветку feature-new из my-company-library-repo. Затем коммиты могут быть объединены / перебазированы в мастер my-company-library-repo

...