一个完整的Hugo静态站点目录往往都包含了各种各样的目录,如content内容目录、themes主题目录等等,既然是静态站点,那我们部署最终的代码时最好只将Hugo生成的静态内容部署到生产服务器,也就是public目录。
假设我们本地的Blog目录结构如下所示:
/Blog /archetypes /assets /content /Go /Swift /HTML /data /layouts /public /static /themes /GopherLoveApple 我们一般会将Blog目录下的所有内容一并提交到同一个git仓库以防内容丢失或备份,这种情况下我们就可以利用git的稀疏检出(sparse checkout)功能来实现只检出public目录,从而达到只将public目录下的内容部署到线上服务器。
操作也比较简单,具体git命令如下:
mkdir www.example.com cd www.example.com git init #在www.example.com空目录下先初始化一个git仓库 git remote add origin <
[email protected]:用户名/仓库url地址.git> #添加远程仓库地址 git config core.sparseCheckout true #开启稀疏检出 echo "public" >> .git/info/sparse-checkout #配置要检出仓库下哪个子目录 git pull origin master 经过上面的配置后当你使用git pull origin master命令拉取代码时就只会拉取public目录下的内容了。