git子树:可以在分叉存储库中更改子树分支/路径吗?

时间:2013-08-30 15:14:13

标签: git merge repository git-subtree

在存储库A中,文件夹sub作为存储库S的git子树包含在内 - 指向master分支。

我已将存储库A分叉到F。现在我想在F中执行以下操作之一:

  • 更改sub以使用S的其他分支(即develop分支)
  • 或:更改sub以完全使用其他存储库

其中一个是否可能,如果是,如何?我应该知道会有任何副作用吗?

当我合并我的更改(拉取请求)时,如何确保我的子树更改不会在存储库A中更新?我的意思是除了隔离提交。

1 个答案:

答案 0 :(得分:31)

如果你使用git subtree(而不是git submodule)来创建子树,那么它只是一个普通的目录。要将其切换到另一个分支,只需将其删除并从新分支重新创建子树。这是:

git rm <subtree>
git commit
git subtree add --prefix=<subtree> <repository_url> <branch>

这应该没有问题。