23

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

我已经将存储库分叉AF. 现在我想做以下其中一项F

  • 更改sub为使用不同的分支S(即develop分支)
  • 或:更改sub为完全使用不同的存储库

其中任何一种都可能吗?如果可以,怎么做?我应该知道有什么副作用吗?

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

4

1 回答 1

38

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

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

这应该没有问题。

于 2013-08-30T16:50:36.117 回答