Git中submodule与gitignore

hugo中主题用的都是submodule。

对于强迫症来说,submodule中发生变化后,主项目目录也就是hugo项目中,会有一直有提示,但是主项目里还奈何不了。

可以这样理解,submodule与git主项目其实是两回事。

所以如果想ignore,子项目中某个文件。必须在子模块目录中更新.gitignore文件。

可能会存在.gitignore不生效的问题,原因在于此文件存在于git的缓存目录中。执行git rm -rf --cached . 然后再git add .即可将工作目录中匹配.gitignore规则的文件排除之外。

说的就是主题目录中,每次hugo server出现的貌似叫asserts/jsconfig.json的文件。

解决方法,fork第三方主题。更新.gitignore。

删除submodule,再重新添加fork后的主题。

移除submodule

git submodule deinit xxx
rm .git/submodule/xxx

没有截图,凭印象记录,:)

核心思想,rm cached, .git fork。

dddd