首页 > 解决方案 > 为什么 git push all 不需要远程上游分支

问题描述

我在本地 repo 上创建了一个新分支并向其添加了一个提交,然后使用 将它(连同 master 上的更改)推送到我的远程 repo git push --all,它工作正常,即它创建了一个与我同名的新远程分支本地分支并将更改推送到那里。

但是,在git push签出新分支的同时使用时,会出现fatal: The current branch ... has no upstream branch.错误。

为什么git push --all假设默认分支git push而不假设?

标签: gitbranch

解决方案


的文档git push表明--all将假定所有分支的默认值。 https://git-scm.com/docs/git-push

--all:推送所有分支(即refs/heads/下的refs);不能与其他 <refspec> 一起使用。

vanilla 不一样git push。但是,您可以在 git 配置中指定类似以下内容,以git push默认为当前分支。

[push]                   
    default = current

推荐阅读