Подтвердить что ты не робот

Git Subtree только один файл или каталог

Я использую Git Subtree, как показано ниже:

git subtree add --prefix=directory_destination_path --squash [email protected]:kicaj/projectname.git master

Но по пути: directory_destination_path скопировать все репо из projectname.git

Как скопировать в directory_destination_path только подкаталог или только некоторый файл из projectname.git?

EDIT:
Еще один вопрос:
Как обновить (автоматические) изменения файлов в обоих хранилищах остались прежними? Это возможно?

4b9b3361

Ответ 1

Если я понимаю, вы, похоже, хотите объединиться в определенном каталоге другого репозитория и хотите, чтобы он был поддеревом в вашем репозитории. Я собираюсь вызвать каталог интереса в проекте .git path_of_interest_in_project и вызвать пункт назначения в вашем репо directory_desination_path.

Попробуйте добавить удаленный project.git как удаленный, а затем локально проверьте один из его ветвей. Затем используйте git-subtree split, чтобы разделить только каталог project.git, который вас интересует. После этого объедините его в свое репо с помощью слияния поддерева.

git remote add project [email protected]:kicaj/projectname.git
git branch project_master project/master

В ветке project_master теперь должна храниться вся история вашего проекта .git repo.

Затем вам нужно будет использовать процесс git-subtrees-split.

git checkout -f project_master
git subtree split --squash --prefix=path_of_interest_in_project -b temp_branch

Теперь должна быть ветвь с именем temp_branch, содержащая только интересующий вас каталог. Теперь вы можете выполнить git-subtree-merge, чтобы привести все это в свое репо.

git checkout -f master
git subtree merge --prefix=directory_destination_path temp_branch

Это должно объединиться в temp_branch в вашу главную ветвь.