Git 多远程仓库推送配置教程:同时推送到内网 GitLab 和 Gitee

场景描述

在日常开发中,有时需要将同一份代码同时推送到内网私有 GitLab 和 Gitee 两个远程仓库。内网 GitLab 用于团队协作开发,Gitee 用于代码备份或对外展示。

本文介绍如何通过配置两个独立的 remote 来实现:git add 和 git commit 只做一次,git push 分别推送到两个远程仓库。

1. 远程仓库配置

1.1 查看当前远程仓库

复制代码
git remote -v

1.2 配置两个 remote

复制代码
git remote add origin http://your-internal-gitlab.com/group/project.git

git remote add gitee https://gitee.com/your-username/your-project.git
Remote 名称 目标
origin 内网 GitLab
gitee Gitee(码云)

2. 完整提交流程

2.1 标准流程

复制代码
git status

git add .

git commit -m "提交说明"

git push origin 分支名

git push gitee 分支名

2.2 首次推送(建立关联)

复制代码
git push -u origin 分支名

git push -u gitee 分支名

2.3 一条命令完成

复制代码
git add . && git commit -m "提交说明" && git push origin 分支名 && git push gitee 分支名

3. 关键点总结

  • git add 和 git commit 只做一次
  • git push 需要执行两次,分别指定不同的 remote
  • origin → 内网 GitLab
  • gitee → Gitee(码云)
  • 第一次推送用 -u 建立上下游关联

4. 进阶:一键推送到所有仓库

复制代码
git remote set-url --add --push origin http://your-internal-gitlab.com/group/project.git

git remote set-url --add --push origin https://gitee.com/your-username/your-project.git

这样 git push origin 分支名 会自动推送到两个仓库。

5. 常见问题

Q: 推送提示认证失败?检查 Gitee 是否已配置 SSH Key 或 Personal Access Token。

Q: 两个仓库分支不同怎么办?建议保持分支名一致。