运行命令"git branch --set-upstream-to"时出错。

9

我尝试执行命令:

$ git branch --set-upstream-to master origin/master
fatal: branch 'origin/master' does not exist

我检查了origin/master是否存在


1
origin/master 是一个“远程分支”,而远程分支并没有所谓的“上游分支”(upstream)。通常它们本身就是上游分支;一般情况下,您会将本地分支 master 的上游分支设置为 origin/master(远程分支)。这是您想要做的吗? - torek
3个回答

7

git branch 命令的语法如下:

git branch' (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]

在你的情况下:
git branch --set-upstream-to=origin/master master 
# or
git branch -u origin/master master

# for git older than 1.8
git branch master --set-upstream origin/master

如果你看到以下错误信息:
Error is: fatal: 
Cannot setup tracking information; starting point 'origin/master' is not a branch.

这意味着您还没有从远程origin获取任何内容。
  1. Check that you do have a remote named origin, with a proper associated url

    git remote -v
    
  2. Try and fetch from origin

    git fetch origin
    

您可以在“git更新远程后新的上游分支可见但不是origin”中了解更多关于获取过程的信息。


@SergiiBezgin 您看到了什么错误信息?您使用的Git版本是哪个? - VonC
错误信息为:致命错误:无法设置跟踪信息;起始点 'origin/master' 不是一个分支。 - Sergii Bezgin

4
通常在完成git init并在Github中创建一个仓库之后,我希望做的下一件事是设置我的远程origin并将我的远程分支与本地主分支关联。
git init
git remote add origin <repository_url>
git fetch

现在,当我输入时

 git branch --set-upstream-to=origin/master master

我遇到了错误:致命错误:分支'master'不存在。
因此,我执行了一个。
git branch -a 

我发现只有

远程/起源/主控

由于我在一个新创建的 git 代码库中,我进行了简单的

git checkout master

之后,执行git branch -a命令,显示出了本地主分支和远程主分支:

  • master

    remotes/origin/master

之后

git branch --set-upstream-to=origin/master master

没有报错,我的本地主分支设置为跟踪远程主分支。


0

我在搜索时发现了这个问题

"fatal: branch 'integration/release/February' does not exist"

但是在我的情况下,错误的原因是不同的。

我“设置了上游”足够多次,以至于我为此创建了一个bash别名,但是当我尝试使用该别名时,我引入了一个空格,这意味着我发送的命令是

git branch --set-upstream-to= integration/release/February

然而,显然我需要的是:

git branch --set-upstream-to=integration/release/February

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接