Windows开发Python项目、树莓派测试的最优Git同步方案咨询
适配当前环境的可落地代码同步方案
1. 解决Git直接推送被拒的核心问题,无需切换分支
之前推送报错的根本原因是Git不允许向已签出工作分支的目录推送内容,完全不需要在树莓派上来回切换分支规避,只要调整仓库结构即可:
- 在树莓派上创建一个无工作区的bare仓库,执行命令
git init --bare ~/git/gps-recorder.git,这类仓库不签出任何文件,天然支持任意分支的推送,不会触发权限校验报错 - 将树莓派上用于实际运行测试的工作目录,绑定到这个bare仓库的远程源,执行
git remote add local_bare ~/git/gps-recorder.git - 将PC端配置的
Pi3远程地址,从原来指向树莓派的测试工作目录,修改为指向该bare仓库的局域网SSH地址 - 给bare仓库配置
post-receive自动钩子,实现推送即自动同步测试代码:- 进入bare仓库的
hooks目录,新建post-receive可执行文件 - 写入如下脚本内容:
#!/bin/bash # 替换为实际的测试工作目录、bare仓库路径 git --work-tree=~/gps_recorder_test --git-dir=~/git/gps-recorder.git checkout -f master - 执行
chmod +x hooks/post-receive赋予脚本执行权限
- 进入bare仓库的
优化后流程:PC端修改完代码,直接执行git push Pi3 master,代码会直接通过局域网推送到树莓派的bare仓库,钩子自动将最新代码同步到测试工作目录,全程无需在树莓派上执行任何拉取、切分支操作,链路比走BitBucket中转更短、速度更快。
2. 简化Windows端SSH服务端配置流程
Windows 10 Home原生集成OpenSSH服务端,无需安装第三方工具,基础配置仅需3步:
- 打开系统设置→应用→可选功能→添加功能,搜索
OpenSSH 服务器完成安装 - 在系统服务列表中找到
OpenSSH SSH Server,设置启动类型为自动,启动服务 - 在Windows防火墙中为22端口添加入站放行规则
配置完成后,树莓派可直接通过PC的固定IP发起SSH连接,拉取PC端本地仓库的代码,无需在树莓派上搭建额外的中转仓库。
3. 依托现有PyCharm环境实现零脚本自动同步
无需手写scp脚本维护文件清单,直接使用已安装的PyCharm能力即可:
- 若使用PyCharm专业版,通过内置的Deployment功能配置与树莓派的SCP连接,设置本地项目目录与树莓派测试目录的映射规则,可开启保存文件时自动同步改动内容的选项,修改代码保存的瞬间,所有变更文件就会同步到树莓派
- 若使用社区版PyCharm,可安装免费的远程主机连接插件,实现同款文件同步能力,甚至可直接将树莓派的Python解释器配置为远程运行环境,在PC上写代码时直接调用树莓派连接的GPS硬件、串口资源,无需手动切换设备操作。
内容的提问来源于stack exchange,提问作者GoTrolling
相关产品推荐
相关产品推荐

