在本地忽略GIT子模块

时间:2013-10-01 06:52:51

标签: git git-submodules

我有一个这样的项目:

main_module
-folder
--submodule_pub1
--submodule_pub2
--submodule_sec

并非所有人都能到达submodule_sec。有没有办法让这些人查看main_module和所有公共子模块,但删除submodule_sec但仅限本地?以某种方式标记它在本地不变?

我找到了这个答案:https://stackoverflow.com/a/1260982/337621 我的问题是,我不想提交,我不希望将删除的子模块作为未跟踪的更改。有没有办法做到这一点?上面的示例我需要哪些命令?

1 个答案:

答案 0 :(得分:2)

您可以尝试with recent git 1.8.3+,a:

git submodule deinit -- folder/submodule_sec

来自git submodule man page

  

进一步调用git子模块更新,git子模块foreach和git子模块同步将跳过任何未注册的子模块,直到它们再次初始化为止,

由于它取消注册子模块,将其从.git/config file中删除,这意味着它只是本地配置的本地修改:它不会影响子模块本身,这继续在工作树和.gitmodules文件中由父repo引用 但是git submodule update命令不会初始化并签出仅deinit的子模块。