我有一个这样的项目:
main_module
-folder
--submodule_pub1
--submodule_pub2
--submodule_sec
并非所有人都能到达submodule_sec
。有没有办法让这些人查看main_module
和所有公共子模块,但删除submodule_sec
但仅限本地?以某种方式标记它在本地不变?
我找到了这个答案:https://stackoverflow.com/a/1260982/337621 我的问题是,我不想提交,我不希望将删除的子模块作为未跟踪的更改。有没有办法做到这一点?上面的示例我需要哪些命令?
答案 0 :(得分:2)
您可以尝试with recent git 1.8.3+,a:
git submodule deinit -- folder/submodule_sec
进一步调用git子模块更新,git子模块foreach和git子模块同步将跳过任何未注册的子模块,直到它们再次初始化为止,
由于它取消注册子模块,将其从.git/config file
中删除,这意味着它只是本地配置的本地修改:它不会影响子模块本身,这继续在工作树和.gitmodules
文件中由父repo引用
但是git submodule update
命令不会初始化并签出仅deinit
的子模块。