无需git push,如何为新建本地分支配置远程上游分支?
无需git push配置本地分支的远程上游
答案是可以,但不能用git branch --set-upstream-to——这个命令要求远程分支已经存在(本地要能读取到该分支的引用),你报错就是因为origin2上还没有对应的分支,本地也没拉取到相关引用。
要实现不用push就配置上游,直接手动修改Git的配置项即可,跳过对远程分支存在性的检查:
修改你的脚本
把脚本里的git branch --set-upstream-to origin2/$1替换成以下两条命令:
git config branch.$1.remote origin2 git config branch.$1.merge refs/heads/$1
原理说明
--set-upstream-to本质也是在设置这两个配置项,但会额外验证远程分支是否存在。直接用git config写入配置后,Git就会认定这个本地分支跟踪origin2上的同名分支,之后执行git push时,会自动把本地分支推送到origin2的对应分支,不需要额外加-u参数。
这样就能满足你的需求:main分支默认推送到origin(remote1),新建的分支默认推送到origin2,全程不需要提前执行push操作。
内容的提问来源于stack exchange,提问作者Milad
相关产品推荐
相关产品推荐

