全量传几百 MB 太慢。增量部署只动变化文件,发布从分钟级降到秒级。

示例配置

rsync -avz --delete --checksum ./dist/ user@server:/var/www/site/

# 或只传 git 变更
git diff --name-only HEAD~1 | xargs -I{} rsync -avz {} user@server:/var/www/site/{}

要点速览

  • rsync 默认按大小和时间戳判断差异,--checksum 更严但更慢。
  • --delete 让源删了的目标也删,保持两边一致。
  • 配合 git diff 可只同步本次提交涉及的文件。
增量部署的本质是「只动脏的」,快就快在这。