本地NB2关联远程NB1为上游后git push失败,仅能指定推送成功
问题解决:本地分支与上游分支名不同时
git push报错 问题根源
你的Git默认推送策略是simple(Git 2.0及以上版本默认启用),该策略要求本地分支名必须与上游分支名完全一致,才能直接使用git push推送代码。你将本地NB2分支的上游设置为远程NB1分支,两者名称不匹配,因此触发了报错。
解决方案
方案1:修改Git推送策略(推荐)
通过配置让Git默认推送到当前分支的上游分支,不受分支名称是否一致的限制:
- 仅对当前仓库生效:
git config push.default upstream
- 对所有本地仓库全局生效:
git config --global push.default upstream
配置完成后,在NB2分支执行git push即可直接推送到远程NB1分支。
方案2:单次推送时绑定上游(临时适配)
如果不想修改全局或仓库配置,执行一次带--set-upstream的推送命令,后续即可直接使用git push:
git push --set-upstream origin NB2:NB1
执行该命令后,Git会更新本地NB2分支的上游关联信息,后续无需额外参数即可完成推送。
补充说明
push.default的常见取值说明:
simple:默认值,要求本地与上游分支名一致,避免新手误推到无关分支upstream:始终推送到当前分支的上游分支,支持本地与远程分支名不同的场景current:推送到远程同名分支,无上游时也可推送,适合分支名一一对应的场景
内容的提问来源于stack exchange,提问作者Parameshwaran
相关产品推荐
相关产品推荐

