← All tools

howjc/git-deploy

Popularity 65 Updated DevOps & Cloud

Git-aware local build and incremental FTP/SFTP deploy for source and build outputs

githubauto-collected

Installation

A directly usable install command is not verified yet. Check the project documentation or releases.

git-deploy v1-lite

git-deploy 是个人日常使用的 Git 感知型构建与文件同步工具:在本地运行构建,比较上次成功部署与当前 HEAD,再通过 SFTP 或 FTP 只同步变化的源码和构建产物。

日常部署只有一条命令:

git-deploy

v1-lite 不再提供 v0.3 的 Expected State、Generation、CAS、Transaction、History、Verify、通用 Recover 或 Rollback。--recover 只处理一个已审阅的 Hybrid 中断记录:SFTP Staged Hybrid 处理可证明的恢复阶段,FTP In-place Hybrid 只处理已提交 Ownership 后的冻结 State/清理阶段。旧实现冻结在 legacy/v0.3 分支和 v0.3.x tags;v1 配置和 state 与旧版不兼容。

安装

需要 Python 3.11+ 和 Git。稳定版通过 GitHub Release 分发 wheel:

uv tool install \
  https://github.com/howjc/git-deploy/releases/download/v1.7.3/git_deploy-1.7.3-py3-none-any.whl
git-deploy --version

开发安装:

uv sync --all-groups
uv tool install --editable .

Shell Tab 补全

安装后会在首次运行 git-deploy 时按 $SHELL 自动写入用户级补全(pip / uv tool 没有可靠的 post-install hook,因此用首次启动补上)。也可显式安装或重装:

git-deploy completion install          # 检测 $SHELL,写入脚本 + RC
git-deploy completion install --force  # 强制覆盖

默认写入位置:

| Shell | 补全脚本 | RC 片段 | |-------|----------|---------| | bash | ~/.local/share/bash-completion/completions/git-deploy | ~/.bashrc 中带标记的 source | | zsh | ~/.local/share/zsh/site-functions/git-deploy | ~/.zshrc 中 fpath + source |

RC 片段用 # git-deploy shell completion 标记,可重复执行、不重复追加。 装好后重新打开终端(或 source ~/.bashrc),再试 git-deploy <Tab。

跳过自动安装:设置环境变量 GITDEPLOYSKIPCOMPLETIONINSTALL=1。

可选:argcomplete 动态补全