如何在本地删除一个git子模块?

j7dteeu8  于 2023-05-05  发布在  Git
关注(0)|答案(1)|浏览(140)

我想在本地删除一个子模块,而不将更改推送到主线。
以下是我所做的:
https://gist.github.com/myusuf3/7f645819ded92bda6677
//从.git/config中删除子模块条目

$ git submodule deinit -f my_submodule

//从超级项目的.git/modules目录中删除子模块目录

$ rm -rf .git/modules/my_submodule

//删除.gitmodules中的条目并删除位于路径/to/submodule的子模块目录

$ git rm -f my_submodule

这就是我现在所拥有的:

$ git status -s -uno
D  my_submodule

Question〉如果我在本地提交这个修改,然后将所有本地修改推送到main,这些命令会导致子模块(即my_submodule)是否从主线中删除?

谢谢你

owfi6suc

owfi6suc1#

是的,它将在远程分支上被删除。
由于更改被记录到提交中,因此当您推送时,子模块也将在远程分支上被删除。当您首先添加子模块时也会发生同样的事情。
如果你只想在本地删除它,你要么不需要提交删除,要么创建一个不会在 mainline 中合并的分支。

相关问题