Git一键部署hugo到VPS或托管网页

Git 是重要的代码管理工具,本文提供一种使用 Git 将 Hugo 生成的静态网站部署到 VPS 的方法。

本文将提供将将 hugo 生成的静态网站同步至 github 仓库, 部署至 cloudflare 并展示的方法。

🍟准备

客户端系统为 Windows 11,SSH 终端用 GitBash (推荐)

以上环境需科学上网,推荐一个机场平台,线路为CMI 非常高速:https://nessbyte.com/

🧁客户端部署Github

🔦Github 创建仓库

https://github.com/new

点击上面网址,创建仓库名,设为 “私有” ,当然也可以 公开。随意

是否加入 README 文件,不要打勾

其它默认,点击创建仓库

💾客户端/PC

打开GitBash终端

🧀hugo 生成网站

1
2
cd [hugo/yourwebsite]  # 进入hugo的项目目录
hugo  # 生成网站,保存到 public 目录

🍖将生成的网站推送至Github线上仓库

第一次使用GIt 先操作下面两条命令,作为 git 的基础配置,作用是告诉 git 你是谁,你输入的信息将出现在你创建的提交中。

1
2
git config --global user.name "你的名字或昵称"
git config --global user.email "你的邮箱"

然后正题:

第一次提交

1
2
3
4
5
6
7
cd public #生成的网站目录
git init  #初始化Git 仓库
git add . #告诉 Git 开始对这个目录所有文件进行跟踪
git commit -m 'first commit' #提交说明,内容要加引号'内容',可写中文
git branch -M main #Git默认创建master的分支,需改成main分支名,一场命名运动
git remote add origin https://github.com/your-id/your-repository.git  #添加远程库
git push -u origin main #将本地main分支推送到Github仓库

后续提交

1
2
3
4
cd public #生成的网站目录
git add . #告诉 Git 开始对这个目录所有文件进行跟踪
git commit -m '更新说明可中文可emoji' #提交说明,内容要加引号'内容',可写中文
git push -u origin main #将本地main分支推送到Github仓库

🍥Windows:如果成功,第一次会弹出github帐号窗口,如果使用GIthub登录,记得默认的浏览器一定要是你对应库的Github帐号。

🍥MacOS:直接会在终端提示输入Github 用户名及Github 密码(=token),注意:此密码不是密码,Github已停用密码同步,去Github官网申请Token。

https://github.com/settings/tokens/new 填写token名 和 ☑️ repo全选。提交会生成token。如果不重要的可以把时间填永久不过期。

💊一些其它情况提交不成功?

1、特例:强制以本地main分支推送,用于更新不上情况

#主要原因在于换电脑,换系统等要用上,还很常用。(多人协作多台电脑不能这样做,不然另一个人得一直强制更新)

1
git push --force origin main

2、可能是因为以前有.git 文件仓库,需要删除旧的仓库,重新初始化Git。

方法1:命令删除:$ rm -rf .git

方法2:界面删除:前往public文件夹,找到.git文件夹删除。(简而言之,就是删除仓库文件夹下隐藏的.git文件夹即可)

初始化Git仓库:git init

3、远程仓库不匹配,先查询一下对不对,删除指定的远程仓库,重新指定仓库

仓库路径查询查询:

1
git remote -v

删除指定的远程仓库:

1
git remote rm origin

添指远程仓库

1
git remote add origin https://github.com/your-id/your-repository.git  #添加远程库

4、git add. 时出现不安全文件目录,外挂硬盘时候会有 fatal: unsafe repository ('<路径>' is owned by someone else) To add an exception for this directory, call:

1
git config --global --add safe.directory <路径>  #将目标文件设为安全

🎂服务端-部署到托管网页

访问 https://dash.cloudflare.com/ (免费)

类似的托管网页很多,自行去 gohugo.io 查看。有收费有免费用的 https://gohugo.io/hosting-and-deployment/

  • 进入 Pages - 创建项目

1652338633674.png

  • 选择Github帐户

1652338654143.png

  • 设置构建(这里面有hugo,不要使用直接用本地public 生成的网页)选,none

1652338673027.png

  • 构建和部署,部署完成后。就可以访问了

1652338695538.png

然后打开你的cloudflare 网页吧~

部署完成

Licensed under CC BY-NC-SA 4.0
这是一个墨茶的博客
Built with Hugo
主题 StackJimmy 设计