如何配置 'git push -u' 来推断远程分支名称?
How to configure 'git push -u' to infer the remote branch name?
我检查了一个新分支
git checkout -b mynewbranch
进行一些更改并提交它们
git add *
git commit -m "Initial commit on this branch"
那我去push了。由于我没有设置上游分支,git 通知我必须指定 --set-upstream <remote> <branch>
选项。我觉得在过去的几年里我已经能够做到
git push -u
如果我当前的分支在 origin 上不存在,它会创建一个同名的分支,然后毫不费力地推送到那个分支。但是我最近重新安装了 git,现在当我 运行 git push -u
它继续抱怨没有上游分支。
我发现我可以修改 push.default
的设置,通过将其设置为 current
,使推送自动执行我期望的操作,即使是 -u 选项,但我喜欢必须指定-u
这样我就知道何时设置该跟踪信息。但是,如果我不指定,我希望 -u
自动使用我当前的分支名称。
我可以设置什么选项来使 -u
像我记得的那样运行?
编辑:我收到的实际错误消息是
$> git push -u
fatal: The current branch mynewbranch has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin mynewbranch
更新:经过进一步测试,这似乎只发生在私人回购中。我注意到在 GitHub -u
上使用 public 存储库可能就足够了,但是在私有 GitHub 存储库或 AWS CodeCommit 上的存储库中,我收到上面列出的错误。
I do see that the --set-upstream flag has been removed (looks like in 2.15 maybe) and that --set-upstream-to is the replacement.
实际上是 Git 1.8: see here and git 1.8.0 announce:
"git branch --set-upstream
" is deprecated and may be removed in a
relatively distant future.
"git branch [-u|--set-upstream-to]
" has been introduced with a saner order of arguments.
git push
uses that same -u shortcut.
我总是看到 git push -u
与参数一起使用:
git push -u origin myBranch
完成后,下一次推送将简单地使用:git push
。
我检查了一个新分支
git checkout -b mynewbranch
进行一些更改并提交它们
git add *
git commit -m "Initial commit on this branch"
那我去push了。由于我没有设置上游分支,git 通知我必须指定 --set-upstream <remote> <branch>
选项。我觉得在过去的几年里我已经能够做到
git push -u
如果我当前的分支在 origin 上不存在,它会创建一个同名的分支,然后毫不费力地推送到那个分支。但是我最近重新安装了 git,现在当我 运行 git push -u
它继续抱怨没有上游分支。
我发现我可以修改 push.default
的设置,通过将其设置为 current
,使推送自动执行我期望的操作,即使是 -u 选项,但我喜欢必须指定-u
这样我就知道何时设置该跟踪信息。但是,如果我不指定,我希望 -u
自动使用我当前的分支名称。
我可以设置什么选项来使 -u
像我记得的那样运行?
编辑:我收到的实际错误消息是
$> git push -u
fatal: The current branch mynewbranch has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin mynewbranch
更新:经过进一步测试,这似乎只发生在私人回购中。我注意到在 GitHub -u
上使用 public 存储库可能就足够了,但是在私有 GitHub 存储库或 AWS CodeCommit 上的存储库中,我收到上面列出的错误。
I do see that the --set-upstream flag has been removed (looks like in 2.15 maybe) and that --set-upstream-to is the replacement.
实际上是 Git 1.8: see here and git 1.8.0 announce:
"
git branch --set-upstream
" is deprecated and may be removed in a relatively distant future.
"git branch [-u|--set-upstream-to]
" has been introduced with a saner order of arguments.
git push
uses that same -u shortcut.
我总是看到 git push -u
与参数一起使用:
git push -u origin myBranch
完成后,下一次推送将简单地使用:git push
。