如何在没有 --set-upstream 的情况下推送远程服务器上不存在的新分支?

How to push a new branch non-existing on the remote server without --set-upstream?

场景是我在远程服务器上没有存储库,只有一个帐户。然后,我在本地运行以下命令,其中x是用户名,y是只存在于我的项目名本地系统。

git init  
git remote add buckety https://x@bitbucket.org/x/y.git  
git add .  
git commit --message "Here we go..."  
git push buckety

现在我收到错误提示,要求我设置远程上游。我可以做到这一点(--set-upstream-u)但根据我的 googlearching,它已被弃用。 (实际上很奇怪,控制台中的建议仍然提到它。)

我想以正确的方式进行,我已经搜索了 --track--set-upstream-to .但是,据我所知,Git 上没有针对我的特定场景的示例,而且我测试的操作因错误而失败。

我应该如何创建远程分支而不缩回使用已弃用的选项?我可能想在远程创建一个跟踪分支,以便:

  1. 本地分支A对应远程分支A,也
  2. 本地分支A对应远程分支B

最好,我想在推送之前对其进行配置,但我不确定如何配置。我不能使用 checkout 因为分支还不存在。出于同样的原因,我无法使用 set-upstream-to

正确的命令是:

git push -u origin master

然后下一个 git 推送将是一个简单的:git push.

参见“Why do I need to explicitly push a new branch?

Since Git 1.8,--set-upstream被称为--set-upstream-to

You can setup a remote tracking branch in advance 与:

git branch -u origin/master master 

(那么你的第一个 git 推送会很简单 git push

这就是我在不添加远程的情况下推送到 gerrit 实例的方式

git push http://localhost:8080/scm *:*
fatal: remote error: Git repository not found

但项目必须已经存在

对我来说,将现有的本地分支推送到服务器上(尚)不存在的分支是:

git push --set-upstream origin LocalBranchThatDoesntExistOnServer