git 子树 : possible to change subtree branch/path in a forked repository?

标签 git merge repository git-subtree

在存储库 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/

相关文章:

git - git 中缺少对象

git - 使 "Refreshing a repository after changing line endings"工作

javascript - Breeze JS为什么要为每个工作单元创建一个新的entityManagerProvider?

c# - 如何使用存储库模式搜索子类?

Gitlab apt 存储库非常慢

windows - 在 Windows 中使用 Git Bash 的命令是什么,例如什么时候处于 git diff 模式?

git - 在 GitHub 中,更新一个分支以匹配另一个分支

git - 使用 IDEA 在 git 中 merge 分支时如何使用 "No Fast Forward"标志

Matlab - 合并两个向量和一个不同维度的矩阵

python - 如何加入/合并数据集?