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

时间:2016-11-13 15:47:09

标签: git version-control branch git-branch

情况是我在远程服务器上没有存储库,只是一个帐户。然后,我在本地运行以下命令,其中 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。
  3. 最好,我想将之前配置为推送,但我不确定如何。我无法使用 checkout ,因为分支尚不存在。出于同样的原因,我无法使用 set-upstream-to

2 个答案:

答案 0 :(得分:4)

正确的命令是:

git push -u origin master

然后下一个git push将很简单: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 push就是一个简单的git push

答案 1 :(得分:1)

这就是我如何在不添加远程

的情况下推送到gerrit实例
git push http://localhost:8080/scm *:*
fatal: remote error: Git repository not found

但项目必须已经存在