在windows的git bash里使用rsync命令

rsync非常的好用,具体的用法可以参考阮一峰前辈写的教程

最近打算做的的一个小项目,打算继续用Python语言来实现后端,框架计划尝试用FastAPI,看起来性能与Flask比要高很多,甚至能比肩NodeJS和Go。

值得一试。

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

1
2
3
4
5
6
7
8
# cat sfydoc_api.conf 
[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检查到代码文件有变动,就会自动重启,这样就只需要在本地改完代码,执行命令同步一下代码,从本地的开发环境同步到服务器端,服务器就自动重启,可以测试了。

代码多了以后,scp就不是很方便,所以在git-bash里装个rsync就是最好的选择,把git-bash集成到VSCode或者PyCharm里,一路很丝滑。

但是网上的教程,需要下载ztsd解压工具,然后下载msys2库里的rsync包,已经它的依赖包,过程比较麻烦,参考这里

现在把所有的准备工作都已经完成了,把重新压缩好的安装包,解压后,覆盖到git的安装目录下的usr目录(C:\Program Files\Git\usr)即可。

在pycharm或者vscode可以直接调用gitbash执行下面的脚本就可以自动同步文件到服务器上去了。

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 © 2013 - 2024 Tiaobug All Rights Reserved.

本站总访问量    次