问题背景:
本地仓库关联了多个远程仓库:
现在对本地分支pagesServe关联远程库coding的coding-pages分支:
切换到pagesServe分支时,执行git pull:
git自动从coding指定的远程库拉取代码。
现在修改本地代码,再执行git push:
没有成功,配置相同情况下,git pull能正常运行,但是git push不能,奇怪不?
按照上面的错误提示,重新push:
这里指定了远程库coding,执行本地分支为HEAD,远程分支为coding-pages才成功。但是git pull为什么不需要这些呢?再说我已经设置了pagesServe和coding远程库coding-pages分支的关联。
下面看下master分支:
同样是设置了远程库和远程分支关联,经过测试:git pull和git push命令都能正常运行,后面没有跟指定远程库和分支的多余参数:
都能正常运行,和pagesServe分支唯一的区别也就是master和远程分支master同名了,难道是因为pagesServe和远程分支不同命,即使配置了关联关系,在push操作时,git强制要求我们指定远程库和远程分支?
習慣沉默2017-05-02 09:36:32
除非你的push.default
的设置改掉,否则我相信是不行的:
git config push.default upstream
默认的配置应该是寻找同名的远程分支,所以会有你说的那个错误出现。
之前有人问过和你类似的问题:How can I push a local Git branch to a remote with a different name easily?