使用VS Code SSH连接Azure VM远程开发时如何同步代码到GitHub
配置VS Code SSH远程连接Azure VM推送代码到GitHub解决方案
该需求完全可以实现,绝大多数配置失败的原因是用户将Git相关配置操作在了本地macOS环境,而VS Code SSH远程开发场景下,所有Git相关能力都是运行在远端Azure VM上,只需配置VM端的Git环境即可。
问题1:远程服务器代码同步推送GitHub的具体配置步骤
- 第一步:在Azure VM中安装Git
根据你VM的操作系统运行对应命令:- Debian/Ubuntu系列:
sudo apt update && sudo apt install git -y - RHEL/CentOS系列:
sudo dnf install git -y
- Debian/Ubuntu系列:
- 第二步:配置Git全局身份信息
在VM终端中执行以下命令,替换为你自己的GitHub账号信息:git config --global user.name "你的GitHub用户名" git config --global user.email "GitHub绑定的邮箱地址" - 第三步:配置GitHub SSH访问凭证(无需每次输入密码,安全性更高)
- 在VM终端执行
ssh-keygen -t ed25519 -C "GitHub绑定的邮箱地址",全程按回车使用默认配置即可 - 执行
cat ~/.ssh/id_ed25519.pub,完整复制输出的公钥内容 - 进入GitHub账号设置的SSH密钥管理页,新建SSH密钥,粘贴刚才复制的公钥并保存
- 回到VM终端执行
ssh -T git@github.com,返回包含你的GitHub用户名的提示即代表配置成功
- 在VM终端执行
- 第四步:绑定本地项目目录到GitHub仓库
- 在GitHub新建空仓库,不要勾选自动生成README、LICENSE等文件,避免后续合并冲突
- 在VS Code打开的远程项目目录中启动终端,依次执行以下命令,替换为你的仓库信息:
配置完成后,你可以直接通过VS Code左侧的源代码管理面板完成提交、拉取、推送操作,和本地开发体验完全一致。git init git add . git commit -m "first commit" git branch -M main git remote add origin git@github.com:你的GitHub用户名/你的仓库名.git git push -u origin main
提示:建议每次开发前先拉取最新代码,提交前核对变更内容,避免误操作导致代码丢失。
问题2:特殊场景下的替代解决方案
如果遇到VM出站网络限制无法直接访问GitHub的情况,可使用以下替代方案:
- 方案1:使用VS Code远程插件自带的文件传输功能,将远程项目目录同步到本地macOS,在本地完成Git提交推送后,再将修改的文件上传回远程VM
- 方案2:在符合网络管控要求的前提下,为VM配置可访问GitHub的代理,再走正常Git推送流程
- 方案3:先将代码推送到和VM同租户的Azure Repos作为中间仓库,再配置Azure Repos和GitHub的自动同步规则,无需手动中转操作
内容的提问来源于stack exchange,提问作者Alan Collins
相关产品推荐
相关产品推荐

