咨询:如何通过GitExtensions点击Push按钮同时推送至origin与upstream双远程仓库
实现GitExtensions一键Push到两个远程仓库的方案
我之前也碰到过类似的需求,给你分享两个亲测可行的解决方案,都能实现点击一次操作就把代码推送到origin和upstream两个远程仓库:
方法一:修改Git远程配置,让一个远程指向多个推送地址
这个方法是从Git底层配置入手,让origin远程仓库同时拥有两个推送URL,这样GitExtensions的默认Push操作就会自动推送到两个地址:
- 打开GitExtensions自带的终端(或者单独的Git Bash),进入你的项目目录
- 先查看当前远程仓库的配置,确认
origin和upstream的地址:git remote -v - 把
upstream的推送地址添加到origin的推送列表里:git remote set-url --add --push origin <你的upstream仓库地址> - 再次执行
git remote -v,你会看到origin的push条目有两个地址,这时候在GitExtensions里点击默认的「Push」按钮,代码就会同时推送到两个远程仓库了
如果之后需要移除其中一个推送地址,可以用这个命令:
git remote set-url --delete --push origin <要移除的仓库地址>
方法二:在GitExtensions中创建自定义推送命令
如果你不想修改远程仓库的默认配置,也可以创建一个自定义命令,一键执行两次推送操作:
- 打开GitExtensions并进入你的项目仓库
- 点击顶部菜单栏的「Tools」→「Custom commands」→「Add」,打开自定义命令配置窗口
- 在窗口里填写以下内容:
- Name:自定义命令名称,比如「Push to Both Remotes」
- Command:输入执行的Git命令,这里可以写:
(如果希望其中一个推送失败后,另一个仍然执行,可以把git push origin && git push upstream&&换成;) - 可选:设置快捷键(比如
Ctrl+Shift+P),勾选「Show in menu」和「Show in toolbar」,方便快速调用
- 保存配置后,以后点击这个自定义命令(或者按快捷键),就能一次性完成两个远程仓库的推送了
注意事项
- 确保两个远程仓库的目标分支名称一致,否则可能出现推送失败的情况
- 如果使用方法一,推送时Git会依次推送到两个地址,其中一个失败会导致整个推送终止;方法二可以通过调整命令符号控制失败后的行为
内容的提问来源于stack exchange,提问作者pewocis495
相关产品推荐
相关产品推荐

