我有一个项目依赖于另外两个子项目,这两个子项目已经使用子树合并策略合并(asdescribed here和there)?
过了一会儿,我注意到其中一个子项目在当前项目中有自己的生命周期,所以我想将其与原始项目分离,但我不知道如何实现这一点。
基本上,我注意到子项目列在.git/config文件中,所以我想知道它是否足够从中删除它。
在jakub的回答/问题之后,我将尝试在我的问题中添加更多细节。我正在处理的project a项目依赖于一个库libraryb,它有自己的git存储库和生命周期。
在设置projecta时,我使用了子树合并技术来添加libraryb的依赖关系(这些步骤正是vonc添加的链接中描述的步骤)。
现在,projecta需要对libraryb进行一些自定义更改,这些更改不够通用,无法推回到libraryb存储库。因此,我想将projecta中的libraryb与其主存储库分离(通过分离,我的意思是projecta中的libraryb将无法从其主存储库更新,并且只能在projecta中跟踪自己的历史)。
更多详细信息:在检查了我的projecta存储库之后,我发现对libraryb存储库的唯一引用存在于projecta/.git/config文件中,格式如下:
[remote "gaelib"]
url = ../libraries/gaelib
fetch = +refs/heads/*:refs/remotes/gaelib/*
而且在projecta(../libraries/gaelib)中包含的libraryb目录中没有其他与git相关的信息
最佳答案
听起来你想“撤销”一个子树合并并将其提交回上游。git subtree split命令应该执行此操作。