首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从当前分支中删除子模块

如何从当前分支中删除子模块
EN

Stack Overflow用户
提问于 2017-04-11 23:27:38
回答 2查看 606关注 0票数 2

如何仅从当前分支中删除“子模块”?我希望保持其他分支的子模块。

EN

回答 2

Stack Overflow用户

发布于 2017-04-12 00:45:11

没有人教过git如何处理兼职的子模块,擦除工作树在语义上比删除文件更麻烦(因为工作树往往有很多未跟踪但不方便重新创建的数据),所以根本不清楚什么是“正确的做法”。

你可以只更新条目,当你提交时,git会抱怨说,当你从一个有嵌套签出的提交切换到那个git rm --cached时,它不能删除一个非空的工作树,但是如果你想要它消失,子模块repo已经被提升(例如,它通过git子模块更新在这里,所以submodule命令做了克隆,或者你自己把repo移到了安全的地方;无论哪种方式,.git将是一个带有gitdir: the/repo/path的文本文件),你可以自己擦除它。

票数 1
EN

Stack Overflow用户

发布于 2017-04-12 01:50:47

正如@jthill回答的那样,我不认为它是被考虑的东西。

你所能做的就是做一些工作来实现这个目标。

使用git工作树

由于工作树使用单独的3状态,你可以有不与其他分支共享3状态的分支,然后你可以从你的工作树中删除文件(index + workdir),然后你不会把它们作为当前分支的一部分。

正如您在屏幕截图中所看到的,子模块存在于右侧,但在第二个工作树中消失了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43350216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档