Почему git не распознает "origin/master" как допустимое имя объекта?

~/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

Я также попытался создать ветвь отслеживания с помощью:

git branch live
git branch --set-upstream live origin/master

но я получил ту же ошибку

Ответ 1

$ git branch -r
  origin/1.x
  origin/[email protected]
  origin/[email protected]
  origin/HEAD -> origin/master
  origin/master

$ git branch --track live origin/blah
fatal: Not a valid object name: 'origin/blah'.

Как было предложено, вы можете отслеживать только удаленный, если он был добавлен. Возможно, добавьте пульт, подобный этому

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

$ git fetch upstream

Пример

Ответ 2

Ваш вывод из git remote подтверждает, что вы успешно добавили пульт origin.

Я ожидаю, что проблема в том, что вы еще не создали ветку удаленного отслеживания. Если вы делаете git branch -r, это, вероятно, ничего не выводит. Поэтому origin/master не является допустимым именем объекта, поскольку ветвь удаленного отслеживания еще не существует.

Решение состоит в том, чтобы выполнить git fetch origin, чтобы создать ветвь удаленного отслеживания. Если вы затем выполните git branch -r, вы увидите, что origin/master теперь существует.

Ответ 3

Я столкнулся с той же проблемой. И оказалось, что у меня не было разрешения на запись на пульте дистанционного управления. И, следовательно, ошибка.

Убедитесь, что у вас есть права на запись на удаленном компьютере. Не существует одной из причин этой конкретной ошибки.