如何在不设置上游分支的情况下推送当前分支到远程仓库?
嘿,这个问题我熟!我来给你拆解清楚怎么解决~
解决方案
方法一:先绑定上游分支,后续一键推送
你之前已经用过git push --set-upstream origin 293-error-pages来绑定当前分支和远程分支,一旦这次绑定完成,之后你只需要敲:
git push
Git就会自动把当前分支推送到对应的远程上游分支,完全不用再写分支名称啦。
方法二:修改Git配置,首次推送也不用写分支名
要是你希望第一次推送当前分支时就省去输入分支名的步骤,可以通过调整Git的全局配置来实现:
推荐:Git 2.37及以上版本
Git在2.37版本新增了一个超实用的配置项push.autoSetupRemote,开启它之后,Git会自动为没有上游的分支绑定远程上游:
git config --global push.autoSetupRemote true
配置好之后,直接执行:
git push origin
Git会自动把当前分支推送到远程仓库的同名分支,同时自动完成上游绑定,之后再推送只需要git push就行。
兼容旧版本Git(2.37以下)
如果你的Git版本比较老,可以设置push.default为current:
git config --global push.default current
之后第一次推送时执行:
git push --set-upstream origin
这里不用写分支名,Git会自动识别当前分支并推送到远程同名分支,同时完成上游绑定。后续推送同样只需git push。
为啥你之前的git push origin会报错?
你之前执行git push origin时收到的报错,核心原因是当前分支还没和任何远程分支建立关联,Git不知道该把当前分支推送到远程的哪个分支上。通过上面的方法绑定上游或者修改配置后,Git就能明确推送目标,自然就不会报错啦。
内容的提问来源于stack exchange,提问作者Eugen Konkov
相关产品推荐
相关产品推荐

