为什么git不能将"origin/master"识别为有效的对象名称?

Ros*_*one 13 git

~/www> git branch --track live origin/master
fatal: Not a valid object name: 'origin/master'.
~/www> git remote
origin
~/www> git branch
* master
  test_branch
  working_branch
Run Code Online (Sandbox Code Playgroud)

我还尝试创建一个跟踪分支:

git branch live
git branch --set-upstream live origin/master
Run Code Online (Sandbox Code Playgroud)

但我得到了同样的错误

小智 11

$ git branch -r
  origin/1.x
  origin/1.x@60
  origin/1.x@63
  origin/HEAD -> origin/master
  origin/master

$ git branch --track live origin/blah
fatal: Not a valid object name: 'origin/blah'.
Run Code Online (Sandbox Code Playgroud)

如上所述,您只能跟踪已添加的遥控器.也许像这样添加遥控器

$ git remote add upstream git://github.com/svnpenn/rtmpdump.git

$ git fetch upstream
Run Code Online (Sandbox Code Playgroud)


Tac*_*tex 5

您的输出git remote确认您已成功添加origin遥控器.

我希望问题是你还没有创建远程跟踪分支.如果你这样做git branch -r,它可能不会输出任何东西.所以origin/master不是有效的对象名称,因为该远程跟踪分支尚不存在.

解决方案是git fetch origin创建远程跟踪分支.如果你这样做git branch -r,你会看到origin/master现在存在.