给origin远程配置多个推送地址
2026年1月8日大约 2 分钟
给origin远程配置多个推送地址(方案一)
核心思路是让origin这个默认远程仓库同时指向 GitHub 和 Gitee,执行一次git push origin main就会自动推送到两个平台,无需额外操作。
查看当前远程仓库配置
git remote -v清空origin原有推送地址(可选,若已有单一地址):
git remote set-url --delete origin <原有地址>示例:git remote set-url --delete origin git@github.com:youhujun/php-tool-youhujun.git
添加多个推送地址到origin:
# 添加GitHub地址(--add表示追加,--push指定仅推送地址)
git remote set-url --add --push origin git@github.com:youhujun/php-tool-youhujun.git
# 添加Gitee地址(替换成你的Gitee仓库地址)
git remote set-url --add --push origin git@gitee.com:youhujun/php-tool-youhujun.git验证配置是否生效:
git remote -v✅ 正确输出示例(push 会显示两个地址,fetch 仍为一个,不影响拉取):
origin git@github.com:youhujun/php-tool-youhujun.git (fetch)
origin git@github.com:youhujun/php-tool-youhujun.git (push)
origin git@gitee.com:youhujun/php-tool-youhujun.git (push)测试推送
git push origin main不影响拉取:git pull origin main仍从第一个 fetch 地址拉取(可按需调整)。
给origin远程配置多个推送地址(方案二)
进入本地仓库的 hooks 目录:
cd .git/hooks创建post-push文件并写入脚本:
touch post-push # 创建文件
chmod +x post-push # 添加可执行权限
vim post-push # 编辑脚本写入以下脚本内容(适配你的仓库)
#!/bin/sh
# post-push钩子:推送origin后,自动推送到github和gitee
BRANCH="main" # 指定要同步的分支
# 推送到GitHub
echo "开始推送至GitHub..."
git push github $BRANCH
if [ $? -eq 0 ]; then
echo "✅ GitHub推送成功"
else
echo "❌ GitHub推送失败"
fi
# 推送到Gitee
echo "开始推送至Gitee..."
git push gitee $BRANCH
if [ $? -eq 0 ]; then
echo "✅ Gitee推送成功"
else
echo "❌ Gitee推送失败"
fi确保已添加 github/gitee 远程仓库:
git remote add github <github仓库地址>
git remote add gitee <gitee仓库地址>测试推送
git push origin main