我想在本地删除一个子模块,而不将更改推送到主线。
以下是我所做的:
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)是否从主线中删除?
谢谢你
1条答案
按热度按时间owfi6suc1#
是的,它将在远程分支上被删除。
由于更改被记录到提交中,因此当您推送时,子模块也将在远程分支上被删除。当您首先添加子模块时也会发生同样的事情。
如果你只想在本地删除它,你要么不需要提交删除,要么创建一个不会在 mainline 中合并的分支。