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 内でファイルをコミットした後、次のコマンドを使用します:

git ftp push

これにより、リモートディレクトリに同期されます。ftp 内には、ファイルのコミットバージョンを記録するための.git-ftp.logファイルが生成され、ローカルの git と比較して更新部分のみをアップロードします。

Hugo の同期#

元々、ブログは Caddy + git + hugo を使用して同期していましたが、VPS でこの 1 つのプログラムを実行するのは少し無駄だと感じました。偶然にも、バイドゥクラウドの仮想ホストが 1 年間 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 に切り替えました

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。