前几天调研了一下 hugo,准备后边把自己的博客迁移过去。hugo 教程中新增主题推荐通过 git 子模块的方式(前提是原始文件就已经在一个 git 项目下),比如我要新增一个名字叫 zen 的主题,可以通过以下命令进行安装:
1 | git submodule add https://github.com/frjo/hugo-theme-zen.git themes/zen |
这个命令会将主题仓库中的文件 clone 到 themes/zen 路径下,同时会在我的的仓库根路径下新建一个 .gitmodules
文件,之后 add 其他子模块时,会往这个文件中追加数据,格式如下:
1 | [submodule "themes/zen"] |
我们需要把 .gitmodules
文件加入到 git 的版本控制中。
子模块常用管理命令
更新子模块:
1 | git submodule update --recursive --remote |
在新环境中拉取所有子模块代码
首次在一个新的环境中 clone 我们的仓库后是不带子模块代码的,可以通过下边这个命令来把所有子模块代码拉下来:
1 | git submodule update --init --recursive |