打造完美工作流:Git 配置"一次推送,三端同步"(Gitee/GitCode/GitHub)
前言
在日常开发中,我们通常会将代码托管在多个平台。国内常用的 Gitee、GitCode 以及国际主流的 GitHub 各有优势。如果每次提交代码都要手动执行三次 git push,不仅繁琐,还容易遗漏。
本文将手把手教你如何利用 Git 原生的 pushUrl 机制,配置"一次提交,三端同步"的完美工作流。
第一步:确保本地仓库已关联远程地址
假设你的本地仓库已经关联了 Gitee 作为默认的 origin。你可以运行以下命令查看当前的远程仓库配置:
git remote -v
第二步:添加 GitCode 和 GitHub 的推送地址
Git 允许为同一个远程仓库(如 origin)配置多个推送地址。
- 添加 GitCode 的推送地址
git remote set-url --add --push origin https://gitcode.com/你的用户名/你的仓库名.git
- 添加 GitHub 的推送地址
git remote set-url --add --push origin https://github.com/你的用户名/你的仓库名.git
- 防止 Gitee 的推送地址被覆盖(保险操作) 为了确保 Gitee 也在推送列表中,建议显式地再添加一次:
git remote set-url --add --push origin https://gitee.com/你的用户名/你的仓库名.git
第三步:验证配置是否成功
再次运行以下命令查看配置:
git remote -v
此时,你应该能看到类似如下的输出(一个 fetch 地址,三个 push 地址):
origin https://gitee.com/你的用户名/你的仓库.git (fetch)
origin https://gitcode.com/你的用户名/你的仓库.git (push)
origin https://gitee.com/你的用户名/你的仓库.git (push)
origin https://github.com/你的用户名/你的仓库.git (push)

第四步:一键推送到三个平台
配置完成后,你只需要像往常一样执行推送命令:
git push origin main
(注:如果你的默认分支是 master ,请将 main 替换为 master )
Git 会依次向这三个平台发起推送请求。你会看到终端分别输出三个平台的成功提示。
核心注意事项与避坑指南
1. 认证方式(切勿使用登录密码)
目前主流的代码托管平台(Gitee、GitCode、GitHub)均已停用密码认证。当终端弹出密码输入框时,请务必输入你在各平台生成的个人访问令牌(Personal Access Token)。
- Gitee:设置 -> 私人令牌 -> 勾选 projects 权限。
- GitCode:设置 -> 访问令牌 -> 勾选 write_repository 和 api 权限。
- GitHub:Settings -> Developer settings -> Personal access tokens -> 勾选 repo 权限。
2. 部分失败不回滚机制
如果推送到其中一个平台成功,但另一个平台失败(例如 GitHub 网络波动),Git 不会回滚已经成功的推送。你只需排查网络或认证问题后,再次执行 git push origin main 即可,Git 会自动跳过已成功的平台,只推送失败的平台。
3. 拉取(Pull)的限制
配置多个推送地址后,git pull 默认只会从第一个配置的 URL(即 Gitee)拉取代码。如果你从 GitHub 上更新了代码,需要明确指定拉取源:
git pull github main
(前提是你在添加推送地址时,也为 GitHub 配置了独立的 fetch 别名,或者直接使用 git pull origin main 拉取默认源)
总结
通过简单的几行命令,我们就打通了 Gitee、GitCode 和 GitHub 的同步链路。这不仅提升了开发效率,也为代码提供了多平台的异地灾备。快去试试你的"一键三连"推送吧!