Github+Hexo 博客搭建+解決各種奇怪問題
請注意版本信息,避免兼容性沖突。
Update 2025.8.30 今天確實不想開任何卷,正好本地博客環(huán)境要重新搭,所以整理一下
- 除說明外,這種無序引用的信息,均為在
Git Bash命令窗口輸入,注意空格。
出現(xiàn)問題可以嘗試在 各種奇怪問題 中查找解決方案。
配置 Node.js
安裝 Node.js
使用的版本為 v22.17.1
除了第二頁點 Browse 設(shè)置安裝路徑,其他的都 next 就行。
更新 npm
最終使用版本為 11.5.2
為了防止后面出現(xiàn)各種奇怪問題,建議一開始直接更新好 npm。
打開命令窗口,
查看 npm 版本:
- npm --version
更新 npm:
- npm install -g npm
配置 Git
下載 Git
使用的版本為 2.50.0
第一頁是聲明直接 next,第二頁點 Browse 設(shè)置安裝路徑。
第三頁自己用就直接 next 就行。
第四頁設(shè)置開始菜單名稱,默認是 Git,也可以選擇不添加。
第五頁設(shè)置默認編輯器,沒有就點下面的藍色字去官網(wǎng)下載,我選 Use Visual Studio Code。
第六頁設(shè)置倉庫主干默認名稱,選第一行是默認 master。
第二行Override the defult branch name for new 是自選,我選擇用 main。
第七頁選第二行 Git form the command ans also form 3-rd-party。
第八頁選第一行 Use bundled OpenSSH。
第九頁選第一行 Use the OpenSSL libray。
第十頁選第一行 checkout Windows-style,commit Unix-style line endings。
十一頁選第一行 Use MinTTY (the defult terminal of MSYS2)
十二頁選第一行 Fast-forward or merge。
十三頁選第一行 Git Credential Manager。
十四頁選第一行 Enable file system caching。
圖片版
第三頁圖片翻譯來自 mukes












配置用戶名和郵箱
安裝完成之后開始連接 Github
先建一個文件夾,作為自己博客的根目錄,我建了一個叫 Hexo。
點進去文件夾,右鍵,選擇 Open Git Bash Here。

- git config --global user.name "你的 GitHub 用戶名"
- git config --global user.email "你的 GitHub 郵箱"
創(chuàng)建 ssh 密鑰
注意,使用 ssh 密鑰僅是為了方便以后連接上傳
如果你確實害怕安全性問題,或者希望每次輸入賬號密碼,那么你可以不使用 ssh 密鑰
- ssh-keygen -t rsa -C "你的 GitHub 郵箱"
第一個出現(xiàn)的輸入,是設(shè)置密匙的存放位置,默認為 C:\Users\用戶名\。
如果默認,那么直接回車。
第二個出現(xiàn)的輸入,是設(shè)置密匙的密碼。如果你不想要密碼,那么直接回車。
注意,輸入密碼時可以不會彈出密碼顯示,所以請記得自己輸入了什么密碼
第三個出現(xiàn)的輸入,是確認密碼。
創(chuàng)建好后,打開密鑰存放的位置,用記事本打開 id_rsa.pub,復制里面的內(nèi)容。
打開 Github,選擇 Settings -> SSH and GPG keys -> New SSH key
Title 輸入密鑰名稱,下面的大框直接粘貼剛才復制的內(nèi)容。
然后回到 Git Bash 的窗口測試連接,輸入:
- ssh -T git@github.com
如果出現(xiàn)這個:

說明你是第一次連接則需要添加本地主機,輸入 yes,然后回車。此時你的密鑰文件夾內(nèi)會出現(xiàn) known_hosts 文件。
如果設(shè)置了密碼,那么你還需要根據(jù)提示輸入你的密碼。
最后出現(xiàn)這個說明你連接成功了:

配置 Hexo
本地安裝 Hexo
在你的博客根目錄下打開 Git Bash,輸入:
- npm install -g hexo-cli
根據(jù)網(wǎng)絡(luò)環(huán)境的差異,安裝時間不定,有時會比較長,耐心等待就好了。
如果安裝成功了,可以查看 Hexo 版本:
- hexo --version

初始化 Hexo
在自己的博客根目錄文件夾里再建一個文件夾,用來放 Hexo 的程序,我建了一個叫 Blog。
在新建的文件夾里打開 Git Bash 輸入:
- hexo init
- npm install
耐心等待即可。完成后可以看到文件夾里多出了東西。
可以進行預覽,先生成界面:
- hexo g
進行本地預覽:
- hexo s
復制出現(xiàn)的那個網(wǎng)址,到瀏覽器里打開。

在 Git Bash 界面使用 Ctrl + C 關(guān)閉本地預覽。
上傳 Hexo 程序到 Github
在 Github 上創(chuàng)建一個新的倉庫,名字是 你的用戶名.github.io。
注意 .github.io 不能更改,前面的前綴最好用你的用戶名,可以避免很多奇怪的問題。
記得選擇公開倉庫。此時打開 https://你的用戶名.github.io 就可以看到默認界面了。
在你的 Hexo 程序文件夾里打開 Git Bash 輸入:
- npm install hexo-deployer-git --save
完成后打開文件 _config.yml。

找到文件末尾的 Deployment 部分,修改為下面的信息:

這里注意你的 repo 后面的網(wǎng)址,在你倉庫的 <>code 里可以看到。
根據(jù)自己選擇的連接方式填寫。因為我們剛剛創(chuàng)建了 ssh 密鑰,所以我們用 ssh 連接。
然后到 Git Bash 中上傳保存修改:
- hexo d
完成后需要將庫默認分支設(shè)置為 _config.yml 配置中的分支名稱:

然后調(diào)整源分支:

完成后,你可以查看 Actions 等待頁面創(chuàng)建任務(wù)完成。

此時訪問 用戶名.github.io 就可以看到博客頁面了。
博客遷移
原電腦的工作
其實你完全可以把博客的整個文件夾都傳到一個私密倉庫里,這是最方便快捷的。
- 創(chuàng)建一個文件夾當本地倉庫,
git init把它變成倉庫。 - 把需要的項目復制到文件夾里,
git add .添加進緩存區(qū)。 git commit -m "注釋內(nèi)容"提交到倉庫。- 創(chuàng)建好 ssh 密鑰,通過 https 鏈接本地倉庫和遠端倉庫。
- 如果遠端倉庫是空的,就
git push -u origin master,不是空的就git push origin master。
詳細點,
保留文件(夾):
- _config.yml:站點配置
- _config.landscape.yml:Landscape 主題的配置文件,Landscape 是 Hexo 的默認主題。
- package.json:說明使用那些包
- package-lock.json:文件是一個自動生成的文件,記錄了整個項目的完整依賴樹的具體版本信息。這確保了,不論何時、何地運行 npm install,都將安裝完全相同版本的依賴。它幫助開發(fā)者避免由于依賴版本不同而導致的潛在問題。
- scaffolds:文章的模板
- source:自己寫的博客文件
- themes:主題
- .gitignore:限定在提交的時候哪些文件可以忽略
刪除文件(夾):
- .git:無論是在站點根目錄下,還是主題目錄下的.git文件,都可以刪掉。
- node_modules:在用npm install會重新生成
- public:hexo g會重新生成
- .deploy_git:在使用hexo d時也會重新生成
- db.json文件
新電腦的工作
安裝 Node.js,安裝 Git,設(shè)置 ssh 密鑰。
創(chuàng)建好同名文件夾,并在其中安裝好 Hexo 和 npm。
然后在根目錄使用 https 連接克隆你的倉庫,不要用 ssh 大概率會卡飛(至少我每次都會卡飛,使出渾身解數(shù)依然難以戰(zhàn)勝)。
然后你可以把連接再改回 ssh(我不知道這有什么意義,但是我 clone 用 ssh 真的會起飛)。
先更改連接方式:
- git remote set-url origin git@自己填
然后查看成功沒:
- git remote -v
然后嘗試 pull 和 push 驗證連接。
主題配置
先咕咕咕。
各種奇怪問題
1)Git 傳輸速度過慢
Git 自己的端口太不穩(wěn)定了,能不能連上好多時候靠運氣。
如果你有梯子,希望走梯子的流量,那么需要更改 GIt 的端口:
- git config --global http.proxy http://127.0.0.1:梯子端口
- git config --global https.proxy http://127.0.0.1:梯子端口
2)Hexo Init 失敗:WARN git clone failed. Copying data instead
先 ping 一下 github 看看有沒有超時,然后嘗試更換更穩(wěn)定的梯子和網(wǎng)絡(luò)。
或者用這個:
- npx hexp init 文件夾名稱
大概率能解決問題。
3)npm install 報錯:npm WARN deprecated
查看 npm 版本:
- npm --version
更新 npm:
- npm install -g npm
4)git pull 顯示 Already up-to-date 但文件實際并沒有更新
先查看你處于哪個分支,確保分支正確:
- git branch
然后看看緩存區(qū)和工作區(qū)有沒有東西:
- git status
如果緩存區(qū)和工作區(qū)有東西,先放棄所有緩存:
- git reset HEAD .
再放棄所有沒加入緩存區(qū)的修改:
- git checkout .
如果你確信遠程倉庫更新了,那可以嘗試強制拉取覆蓋;
- git fetch --all
- git reset --hard origin/main
最后嘗試 pull。
5)ssh 連接報錯:Error loading key: error in libcrypto
大概率就是純格式問題。
把密鑰放到 vscode 上,選右下角的 CRLF,在彈出來的窗口上選 LF,保存。
然后再試,大概率就可以了。
參考資料
有好多東西我忘了在哪找的了。

浙公網(wǎng)安備 33010602011771號