Skip to main content

提交多个远程仓库方法


1. 添加多个远程仓库

1.1 查看当前远程仓库

git remote -v

默认情况下,你可能只看到一个 origin(通常是首次 git clone 时的仓库)。

1.2 添加 Gitee 和 GitHub 作为额外的远程仓库

假设:

  • GitHub 远程地址: git@github.com:username/repo.git
  • Gitee 远程地址: git@gitee.com:username/repo.git

1.2.1 添加 Gitee 远程

git remote add gitee git@gitee.com:username/repo.git

1.2.2 添加 GitHub 远程

git remote add github git@github.com:username/repo.git

1.3 验证远程仓库是否添加成功

git remote -v

输出示例:

origin  git@github.com:username/repo.git (fetch)
origin git@github.com:username/repo.git (push)
gitee git@gitee.com:username/repo.git (fetch)
gitee git@gitee.com:username/repo.git (push)
github git@github.com:username/repo.git (fetch)
github git@github.com:username/repo.git (push)

1.4 推送代码到多个远程仓库

1.4.1 分别推送

git push github main    # 推送到 GitHub
git push gitee main # 推送到 Gitee

1.4.2 一键推送(同时推送到 GitHub 和 Gitee)

git push --all github && git push --all gitee

或使用脚本:

#!/bin/bash
git push github main
git push gitee main

2. 修改 origin 并添加额外远程

如果你希望 origin 指向 Gitee,同时保留 GitHub 作为额外远程:

# 移除旧的 origin(可选)
git remote remove origin

# 添加 Gitee 作为 origin
git remote add origin git@gitee.com:username/repo.git

# 添加 GitHub 作为额外远程
git remote add github git@github.com:username/repo.git

然后推送:

git push origin main      # 推送到 Gitee
git push github main # 推送到 GitHub

3. 使用 git remote set-url 添加多个推送地址

如果你希望 git push 默认同时推送到 GitHub 和 Gitee,可以修改 origin 的推送 URL:

git remote set-url --add --push origin git@github.com:username/repo.git
git remote set-url --add --push origin git@gitee.com:username/repo.git

验证:

git remote -v

输出示例:

origin  git@github.com:username/repo.git (fetch)
origin git@github.com:username/repo.git (push)
origin git@gitee.com:username/repo.git (push) # 额外推送地址

这样,执行 git push origin main 时会同时推送到 GitHub 和 Gitee


4. 总结

方法适用场景命令示例
方法 1(多远程)需要分别管理 GitHub/Giteegit remote add github/gitee
方法 2(修改 origin)希望 origin 指向 Giteegit remote set-url origin gitee_url
方法 3(多推送 URL)希望 git push 一键双推git remote set-url --add --push