Git父仓库忽略app目录下子模块无效,如何避免父仓变更?
解决方法
核心思路是不通过父仓库追踪子模块的元数据,而是手动配置本地子模块,让父仓库完全忽略子模块相关的文件和目录:
- 跳过
git submodule add命令,直接在app目录下克隆子模块仓库:git clone <你的子模块仓库地址> app/你的子模块目录名 - 进入子模块目录,确认它是独立的Git仓库(执行
git status能正常显示状态即可),之后可以正常在子模块里拉取、提交代码。 - 在父仓库的
.gitignore中添加子模块目录的忽略规则:
确保父仓库不会追踪这个目录下的任何内容。app/你的子模块目录名/ - 手动在父仓库的
.git/config文件中添加子模块配置(方便本地用Git子模块命令管理):
打开父仓库的.git/config,在文件末尾追加:
这样你在父仓库执行[submodule "app/你的子模块目录名"] path = app/你的子模块目录名 url = <你的子模块仓库地址>git submodule update --remote等命令时,就能正常更新子模块内容。
这样操作后,父仓库的提交记录、GitHub页面都不会出现任何子模块相关的变更,本地却能保留子模块目录并正常维护子模块内容。
内容的提问来源于stack exchange,提问作者Masea
相关产品推荐
相关产品推荐

