hint: 进行以下操作前需要在GitHub和gitee上创建仓库并用Git配置两个账户的SSH公钥

存放网站的仓库必须设置成公开的仓库. 存放网站源码的仓库随便

SSH公钥的配置可以参考:GitHub配置SSH公钥, gitee配置SSH公钥

以下命令需要在网站根目录下打开的终端(或者cd到根目录下)执行

网站上传到GitHub仓库

安装hexo-deployer-git插件

npm install hexo-deployer-git --save

修改网站根目录下的 _config.yml,配置 GitHub相关信息

deploy:
type: git
repo: https://github.com/yourname/yourname.github.io.git
branch: main

上传网页

hexo cl&&hexo g -d

本地预览网页(和上传没关系,就是说一下)

hexo cl&&hexo s

上面的两行命令可以分开执行,写在一行方便且快捷

网站页源码上传到gitee仓库

初始化本地仓库(第一次运行需要)

git init

设置用户名和邮箱(第一次运行需要)

每次上传都要填写提交信息(例如, 修改了xxx文件), 提交信息上会记录你的用户名和邮箱

git config user.name 'yourname'
git config user.email 'youremail'

设置远程仓库的地址(第一次运行需要)

remotename可以自己起一个名字, 方便记忆(例如, 这个远程仓库的名字我可以起gitee)

remotepath是远程仓库的地址, 可以点击仓库的右上角的按钮查看(例如, 我的远程地址是https://gitee.com/o0w0b/hexo-source.git)

git remote add remotename remotepath

添加本地文件到暂存区

git add .

提交到本地工作区

git commit -m "在这里写本次的提交信息"

上传到远程仓库

master这个是远程仓库的分支的名字(在gitee创建仓库后, 自动创建的主分支的名字)

git push remotename master

修改在本地记录的远程仓库信息的方法

运行git init之后, 会发现根目录下多了名字为.git的隐藏文件夹

进入该文件夹, 用编辑器打开config文件

我的config文件内容

[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "gitee"]
url = [email protected]:o0w0b/hexo-source.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = gitee
merge = refs/heads/master

然后修改对应的内容就可以

其中[remote]下的fetch地址是从远程仓库拉取内容时存放的地址, 其中+refs/heads/*:指的是.git文件夹的地址

url是要从本地推送到远程仓库的地址, url可以有多个, 可以一次性推送到不同的远程仓库

[remote "gitee"]
url = [email protected]:o0w0b/hexo-source.git
fetch = +refs/heads/*:refs/remotes/origin/*
url = [email protected]:o0w0b/hexo-source.git