Windows 配置 SSH 密钥|本地项目推送 GitHub/Gitee/GitCode 一、前言日常开发常用代码托管平台海外GitHub、国内Gitee码云、GitCode。 三个平台 Git 底层逻辑一致但 SSH 地址、部分交互细节略有区别。本文实现一套通用流程 SSH 密钥生成 → 平台公钥配置 → 本地项目.gitignore编写 → Git 初始化 → 规范提交代码 → 推送远程仓库。演示环境Windows 11 专业版、Git 2.51.1二、前置准备安装 Git推荐默认选项完成安装注册对应平台账号GitHub / Gitee / GitCode在网页端新建远程仓库✅最佳实践创建仓库不要勾选初始化 README、LICENSE从根源规避推送冲突 ⚠️如果仓库已经自动生成 README后文提供冲突解决方案。三、步骤 1生成 SSH 密钥 Ed25519 / RSA 选型三大平台全部支持SSH 用于免密推送代码避免每次输入账号密码。目前主流两种加密算法方案 1【优先推荐】Ed25519椭圆曲线算法密钥更小、签名速度更快、安全性更高GitHub/Gitee/GitCode 全部原生支持。ssh-keygen -t ed25519 -C 你的邮箱方案 2【老旧设备兼容备选】RSA 4096兼容极低版本 OpenSSH 设备通用性最强ssh-keygen -t rsa -b 4096 -C 你的邮箱RSA vs Ed25519 对比特性RSA 4096Ed25519算法类型大整数分解椭圆曲线密码密钥长度4096bit256bit生成速度较慢更快平台支持全平台兼容新版 OpenSSH主流代码平台支持执行操作运行命令后连续三次回车不设置密钥密码。 生成目录C:\Users\用户名\.ssh\id_ed25519/id_rsa私钥绝对不能泄露id_ed25519.pub/id_rsa.pub公钥记事本打开完整复制所有内容小技巧同一套公钥可以同时添加到 GitHub、Gitee、GitCode 三个平台不用重复生成多组密钥四、步骤 2三大平台分别配置公钥入口1GitHub头像 → Settings → SSH and GPG keys → New SSH key 粘贴公钥保存2Gitee码云头像 → 设置 → SSH 公钥 → 添加公钥3GitCode头像 → 设置 → SSH 密钥 → 添加公钥五、连通性测试命令区分平台# GitHub 测试 ssh -T gitgithub.com # Gitee 测试 ssh -T gitshturl.cc # GitCode 测试 ssh -T gitgitcode.com首次连接提示Are you sure you want to continue connecting ?输入yes回车出现欢迎提示即代表 SSH 配置成功。六、步骤 3项目根目录配置 .gitignore本次需求保留 video 空文件夹不上传内部视频忽略临时文件、Python 缓存。 项目根目录新建.gitignoreWindows 直接新建文件报错时文件名输入.gitignore.末尾带小数点系统自动修正。# 保留video文件夹忽略文件夹内部所有文件 video/* # Python缓存 __pycache__/ *.pyc *.pyo # 日志、临时文件 *.log *.tmp验证忽略规则推荐模拟推送预览将要上传的文件检验过滤规则是否生效git add . --dry-run七、步骤 4本地仓库初始化 关联远程仓库进入项目根目录执行git init三大平台 SSH 地址格式对照# GitHub git remote add origin gitgithub.com:用户名/仓库名.git # Gitee git remote add origin gitshturl.cc:用户名/仓库名.git # GitCode git remote add origin gitgitcode.com:用户名/仓库名.git⚠️注意不要混合使用 SSH 地址和 HTTPS 地址配置 SSH 后全程使用 SSH 链接。八、步骤 5文件暂存 Angular 约定式提交规范重点git add . Angular 约定式提交标准规范标准格式type(scope): subject body footertype变更类型必填feat新增功能、新项目初次上传fix修复代码 Bugdocs文档修改refactor代码重构无功能变更perf性能优化style代码格式调整空格、缩进test新增 / 修改测试代码chore构建脚本、依赖、环境配置更新scope可选标明改动模块例如(Vision_Dev)subject简短描述小写开头结尾不加句号日常单行简写绝大多数场景使用git commit -m feat: 上传Python机器视觉开发项目复杂多行完整版大型项目git commit -m feat(Vision_Dev): 上传机器视觉demo 新增人脸检测demo1、demo2 内置haar人脸分类器、测试图片 配置.gitignore过滤视频资源 规范优势版本历史清晰可自动生成项目更新日志团队协作可读性大幅提升。九、步骤 6推送远程仓库高频报错解决方案报错 1src refspec main does not match any原因旧版 git init 默认分支为masterGitHub/Gitee/GitCode 远程仓库默认分支为main名称不匹配。解决方案本地分支重命名git branch -M main报错 2remote contains work that you do not have locally / [rejected] main - main (fetch first)原因远程仓库创建时自动生成 README本地仓库全新初始化两者没有共同提交历史。 两种方案方案 A【单人私有仓库可用】强制推送覆盖远程⚠️高危多人协作绝对禁止使用会覆盖他人代码git push -u origin main --force方案 B【通用标准方案多人协作首选】拉取远程代码合并git pull origin main --allow-unrelated-histories git push -u origin main--allow-unrelated-histories专门解决本地、远程仓库无共同提交历史的冲突。推送成功标识控制台输出包含xxx - main代表推送完成刷新网页仓库查看代码。十、后续迭代通用命令模板首次绑定远程之后后续更新代码直接执行git add . git commit -m feat(Vision_Dev): 新增Demo git push十一、通用踩坑总结一套 SSH 公钥可同时绑定 GitHub、Gitee、GitCode无需重复生成优先 Ed25519 密钥老旧环境再选用 RSA4096.gitignore必须执行git add之前配置已加入暂存区文件不会自动过滤video/完全忽略文件夹video/*保留空文件夹仅过滤内部文件区分警告 warning 和错误 error换行符警告不会阻断推送严格使用约定式提交规范方便长期维护项目--force强制推送谨慎使用仅个人独立仓库场景考虑。