You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写shell脚本实现git一次提交推送到多个远程仓库

问题解答

一、Git Remote 配置调整说明

你当前的远程仓库配置不需要新增额外的远程节点,仅需要修正1处笔误即可正常使用:

  • 你当前origin远程的推送地址存在错误,实际应为https://git.heroku.com/it-backend.git,执行以下命令修正:
    git remote set-url origin --push https://git.heroku.com/it-backend.git

修正后你可用的三个推送目标如下:

  • backend:对应GitHub仓库
  • generic:对应Heroku generic-backend 仓库
  • origin:对应Heroku it-backend 仓库

二、Shell 脚本调整方案

你现有脚本中git push heroku master引用的heroku远程不存在,需要替换为实际的三个远程推送命令,同时可增加简单的异常判断避免无改动时报错,修改后的完整脚本如下:

#!/bin/bash
echo "What is the commit message?"
read commitMessage

# 切换到项目目录,路径错误直接退出
cd ~/GitHub/project/backend || exit 1

git add .
# 无工作区改动时提交会失败,直接退出不执行推送
git commit -am "$commitMessage" || exit 0

# 依次推送至三个远程仓库
git push backend master
git push generic master
git push origin master

echo "所有仓库推送完成"

核心调整点

  • 新增路径切换失败的退出逻辑,避免路径错误时执行无效Git命令
  • 新增提交失败的退出逻辑,无改动时不会触发后续推送操作
  • 替换原有的单条推送命令为三个对应远程仓库的推送命令,执行时会自动依次完成三个仓库的推送

内容的提问来源于stack exchange,提问作者user2371684

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 15:00:02