Git迁移提交到新分支后跟踪错误远程分支无法直接git push
问题原因
本地new_branch的上游跟踪分支配置错误,当前它关联的是远程的old_branch,本地分支名和跟踪的远程分支名不匹配,所以直接执行无参数的git push时Git会拦截操作,防止误推到错误分支。
Git GUI能正常推送是因为GUI操作时手动指定了推送目标分支,没有依赖本地默认的上游跟踪规则,所以不受这个错误配置影响。
修复操作
切到new_branch分支后执行下面的命令,重新绑定正确的上游分支:
git branch --set-upstream-to=origin/new_branch
如果当前不在new_branch分支,可以用全量命令指定要修改的本地分支:
git branch --set-upstream-to=origin/new_branch new_branch
执行完成后用git status验证,输出会从原来提示和old_branch分叉,变为显示和origin/new_branch的同步状态,之后直接执行git push就能正常推送,不需要额外加参数。
内容的提问来源于stack exchange,提问作者Carlo
相关产品推荐
相关产品推荐

