在 Windows 的 Git Bash 里使用 rsync 命令

rsync 非常好用,增量同步比 scp 高效得多。

最近打算做一个小项目,后端继续用 Python,框架计划尝试 FastAPI——性能比 Flask 高很多,甚至能比肩 NodeJS 和 Go,值得一试。

服务器打算放到阿里云云小站的 ECS 里,配置好 Nginx 和 SSL,用 supervisor 管理程序:

1
2
3
4
5
6
7
[program:sfydoc-api]
command=/bin/bash -c 'cd /home/tiaobug/sfydoc/backend && source .venv/bin/activate && uvicorn main:app --reload --port 888'
directory=/home/tiaobug/sfydoc/backend
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/home/tiaobug/sfydoc/backend/logs/sfydoc.log

uvicorn 检测到代码变动会自动重启。本地改完代码,执行 rsync 同步到服务器,服务器自动重启,可以立刻测试。

代码多了以后 scp 就不方便了,在 Git Bash 里装个 rsync 是最佳选择,集成到 VSCode 或 PyCharm 里一路很丝滑。

安装方法

网上教程需要下载 zstd 解压工具,再从 msys2 库里找 rsync 包及依赖,过程比较麻烦,参考这篇 CSDN

我把准备工作都做好了,重新压缩好的安装包解压后,覆盖到 Git 安装目录下的 usr 目录(C:\Program Files\Git\usr\)即可。

同步命令

在 PyCharm 或 VSCode 里调用 Git Bash 执行:

1
2
3
4
5
6
7
rsync -avz \
--exclude='__pycache__/' \
--exclude='.git/' \
--exclude='venv/' \
--exclude='*.log' \
--exclude='*.pyc' \
"$LOCAL_PROJECT_PATH" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH"

在 Git version 2.45.2、Windows 11 上测试好用。

Notice: 正常情况下,这里会有一个基于utteranc.es的留言系统,如果看不到,可能要想想办法才能看到。

Powered by Hexo and Hexo-theme-hiker

Copyright © 2012 - 2026 tiaobug.com All Rights Reserved.

鲁ICP备2024124237号-1