在存储库 A
中,文件夹 sub
包含为存储库 S
的 git 子树 - 指向 master
分支机构。
我已经将存储库 A
fork 到 F
中。现在我想在 F
中执行以下操作之一:
- 更改
sub
以使用S
的不同分支(即develop
分支) - 或者:更改
sub
以完全使用不同的存储库
其中任何一种可能吗?如果可能,如何实现?会有任何我应该知道的副作用吗?
当我 merge 更改( pull 请求)时,如何确保我的子树更改不会在存储库 A
中更新?我的意思是除了隔离提交。
最佳答案
如果您使用 git subtree
(而不是 git submodule
)创建子树,那么它只是一个普通目录。要将它切换到另一个分支,只需删除它并从新分支重新创建子树。这是:
git rm <subtree>
git commit
git subtree add --prefix=<subtree> <repository_url> <branch>
这应该没有问题。
关于git 子树 : possible to change subtree branch/path in a forked repository?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18536279/