Zeke Xiao

Zeke Xiao

github

使用 git-ftp 將 hugo 同步到 ftp

簡介#

Git-ftp 是一個使用 git 作為版本控制的 ftp 應用,它可以根據 git 的改動只上傳需要更新的文件,來節省流量和時間。

安裝#

在 Debian 系下,只需要安裝:

sudo apt install git-ftp

其他版本具體可以在這裡找到https://github.com/git-ftp/git-ftp/releases只需要解壓運行即可。

使用#

添加 Config#

可以直接在 git 項目的.git/config 裡添加:

[git-ftp]
    url = ftp.example.net
    user = ftp-user
    password = secr3t

或者使用 git 命令來添加:

git config git-ftp.url ftp.example.net
git config git-ftp.user ftp-user
git config git-ftp.password secr3t

具體 Config 參數#

git config git-ftp.url ftp://ftp.example.net:8010/path ftp 地址

git config git-ftp.user ftp-user ftp 用戶名

git config git-ftp.password secr3t ftp 密碼

git config git-ftp.syncroot path/dir 本地需要同步的目錄

git config git-ftp.remote-root htdocs 遠程目錄

更多可以查看這裡 -> manual

同步#

初始化同步所有文件

git ftp init

其他用法很簡單,只需要在 git 內提交文件,然後使用

gti ftp push

就可以同步到遠程目錄了,在 ftp 內會產生一個 .git-ftp.log 的文件用來記錄 ftp 內文件的 commit 版本,然後通過於本地 git 比較從而只上傳更新的部分。

同步 Hugo#

本來博客是使用 Caddy + git + hugo 進行同步,後因為 VPS 只跑這一個程序有點浪費了,正巧百度雲的虛擬主機打折一年只要 30 元,於是搬到到虛擬主機上。

同步的話,按照上面的內容添加好 ftp 後,將 ./public 目錄移出 .gitignore 文件裡面, git-ftp.syncroot 的路徑應該是$PATH_TO_YOUR_HUGO/public,然後使用hugo -E 生成 public 裡的文件,提交更改後,使用 git ftp push 就可以同步了。


2019-9 切換到了 typlog
2023-7 切換到了 xlog.app

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。