我们只需要配置 同一个远程名 对应 多个 URL,这样一次 git push
就能同时推送到 GitHub 和 Gitee。
方法一:给一个远程仓库配置多个推送地址
假设你本地已经有一个仓库,并且远程名是 origin
:
# 查看当前远程配置
git remote -v
如果只有一个地址,比如 GitHub 的,可以这样添加 Gitee 地址:
# 1. 先删除旧的 push 地址
git remote set-url --delete origin git@github.com:yourname/repo.git# 2. 添加两个推送地址
git remote set-url --add origin git@github.com:yourname/repo.git
git remote set-url --add origin git@gitee.com:yourname/repo.git
现在再查看:
git remote -v
你会看到类似:
origin git@github.com:yourname/repo.git (fetch)
origin git@github.com:yourname/repo.git (push)
origin git@gitee.com:yourname/repo.git (push)
这样,以后你只要执行:
git push origin 分支名
Git 就会把提交同时推送到 GitHub 和 Gitee。
方法二:分别推送(适合不同分支 / 不同策略)
如果你不想让 origin
同时推两个平台,可以添加两个不同的远程名:
git remote add github git@github.com:yourname/repo.git
git remote add gitee git@gitee.com:yourname/repo.git
然后一次推送多个远程:
git push github 分支名
git push gitee 分支名
也可以写个脚本 pushall.sh
:
#!/bin/bash
git push github $1
git push gitee $1
用法:
./pushall.sh main
方法三:配置 push 自动推送到多个远程
编辑 .git/config
文件,手动添加:
[remote "origin"]url = git@github.com:yourname/repo.giturl = git@gitee.com:yourname/repo.gitfetch = +refs/heads/*:refs/remotes/origin/*
这样一次 git push origin 分支名
就会同时推送到两个平台。