git-deploy v1-lite
git-deploy 是个人日常使用的 Git 感知型构建与文件同步工具:在本地运行构建,比较上次成功部署与当前 HEAD,再通过 SFTP 或 FTP 只同步变化的源码和构建产物。
日常部署只有一条命令:
git-deployv1-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。