簡介#
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