git子树:是否可以更改分叉存储库中的子树分支/路径?
在存储库git子树:是否可以更改分叉存储库中的子树分支/路径?,git,merge,repository,git-subtree,Git,Merge,Repository,Git Subtree,在存储库a中,文件夹sub包含为存储库S的git子树,指向master分支 我已将存储库A分叉为F。现在,我想在F中执行以下操作之一: 更改sub以使用S的不同分支(即开发分支) 或者:更改sub以完全使用不同的存储库 其中一种可能吗?如果可能,如何可能?我应该知道会有什么副作用吗 当我合并我的更改(拉取请求)时,如何确保我的子树更改不会在存储库A中更新?我的意思是除了隔离提交之外。如果您使用git子树(而不是git子模块)来创建子树,那么它只是一个普通目录。要将它切换到另一个分支,只需删除
a
中,文件夹sub
包含为存储库S
的git子树,指向master
分支
我已将存储库A
分叉为F
。现在,我想在F
中执行以下操作之一:
- 更改
以使用sub
的不同分支(即S
分支)开发
- 或者:更改
以完全使用不同的存储库sub
当我合并我的更改(拉取请求)时,如何确保我的子树更改不会在存储库
A
中更新?我的意思是除了隔离提交之外。如果您使用git子树(而不是git子模块
)来创建子树,那么它只是一个普通目录。要将它切换到另一个分支,只需删除它并从新分支重新创建子树。这是:
git rm <subtree>
git commit
git subtree add --prefix=<subtree> <repository_url> <branch>
git-rm
git提交
git子树添加--前缀=
这应该可以正常工作。而且不会同步到上游?我想我会试试。它不会同步到上游。
不会保存在任何地方;它只是用来让命令知道从哪里获取文件。在那之后,你会在你的存储库中得到一个普通的子目录。。。子树只是“复制”另一个存储库的提交状态,就好像我手动复制了它一样(但保留了提交历史等等)。因此,这并没有改变我原来在两个存储库之间不同步特定文件夹的问题,但足以回答这个问题。根据我的经验,它工作得更好,并且在添加子树后无法完成。看见