Ошибка с git: удаленная HEAD неоднозначна, может быть одним из следующих - PullRequest
2 голосов
/ 04 апреля 2010

После ответвления и нажатия на пульт, git remote show origin выдает отчет

HEAD branch (remote HEAD is ambiguous, may be one of the following):  
    master  
    otherbranch  

Что подразумевается?

Это критическая ошибка?

remote origin
  Fetch URL: gituser@local.repos.cc:/home/gituser/repos/csfsconf.git
  Push  URL: gituser@local.repos.cc:/home/gituser/repos/csfsconf.git
  HEAD branch (remote HEAD is ambiguous, may be one of the following):
    master
    otherbranch

Ответы [ 2 ]

2 голосов
/ 05 апреля 2010

Вы можете увидеть то же предупреждение в этом сообщении в блоге

(master)jj@im-jj:~/demo$ git checkout -b rc-1.0
Switched to a new branch 'rc-1.0'
(rc-1.0)jj@im-jj:~/demo$ git push origin rc-1.0
Total 0 (delta 0), reused 0 (delta 0)
To my-server:/git/demo.git
 * [new branch]      rc-1.0 -> rc-1.0
(rc-1.0)jj@im-jj:~/demo$ git remote show origin 
* remote origin
  URL: my-server:/git/demo.git
  HEAD branch (remote HEAD is ambiguous, may be one of the following):
    master
    rc-1.0
  Remote branches:
    master tracked
    rc-1.0 tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local refs configured for 'git push':
    master pushes to master (up to date)
    rc-1.0 pushes to rc-1.0 (up to date)

short log

Это (нажатие на новую текущую ветку) введет новую ссылку HEAD на удаленное хранилище.

Если вы посмотрите на источники Git для этого предупреждающего сообщения , он попытается получить имена удаленных HEAD через get_head_names(), который вызывает:

matches = guess_remote_head(find_ref_by_name(remote_refs, "HEAD"),
+                   fetch_map, 1);

Как описано в этом патче :

Определение HEAD является неоднозначным, поскольку это делается путем сравнения SHA1.

(см. код здесь )

В случае нескольких совпадений мы возвращаем refs /heads / master, если он совпадает, иначе мы возвращаем первое совпадение, с которым мы столкнулись. builtin-remote необходимо вернуть все совпадения, поэтому добавьте флаг, чтобы запросить такое.

0 голосов
/ 04 апреля 2010

В теме http://forums.wf.klevo.sk/comments.php?DiscussionID=155 есть обсуждение этой темы. В частности, тема упоминает:

# make a new branch where you can make and commit changes to
$git checkout -b darth-kool
Switched to a new branch 'darth-kool'

# * marks current branch
$git branch -l
* darth-kool
master

Возможно, вам нужно отметить текущую ветку? Если нет, может помочь остальная часть темы.

...