2

我结帐一个新的分支

git checkout -b mynewbranch

进行一些更改并提交它们

git add *
git commit -m "Initial commit on this branch"

那我去推。由于我没有设置上游分支,git 通知我必须指定--set-upstream <remote> <branch>选项。我觉得在过去的几年里我已经能够做到

git push -u

如果我当前的分支在原点上不存在,它会创建一个具有相同名称的分支,并毫不费力地推送到该分支。但是我最近重新安装了 git,现在当我运行它时,git push -u它继续抱怨没有上游分支。

我发现我可以修改 的设置push.default以使推送自动执行我期望的操作,即使 -u 选项也可以通过将其设置为current,但我喜欢必须指定 ,-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可能就足够了,但是当在私有 GitHub 存储库或 AWS CodeCommit 上的存储库中时,我会收到上面列出的错误。

4

1 回答 1

2

我确实看到 --set-upstream 标志已被删除(可能看起来像在 2.15 中)并且 --set-upstream-to 是替代品。

它实际上是使用 Git 1.8:见这里git 1.8.0 宣布

" git branch --set-upstream" 已被弃用,可能会在相对遥远的将来被删除。
" git branch [-u|--set-upstream-to]" 引入了更合理的论点顺序。

git push使用相同的 -u 快捷方式

我总是看到git push -u与参数一起使用:

git push -u origin myBranch

完成后,下一次推送将简单地使用:git push.

于 2018-08-01T21:55:35.323 回答