Я понимаю, что origin/HEAD обычно указывает на удаленную ветку origin/master. Но я нашел случай, когда эти два различны.
В этом потоке -- удаленный журнал LibGit2Sharp ответ использует repo.Branches["origin/HEAD"]
, а не repo.Branches["origin/master"]
.
На самом деле, когда я попытался использовать "origin/master"
вместо "origin/HEAD"
, это не сработало. Похоже, что "origin/master"
указывает на ветку локального репо, а не на ветку удаленного репо. Просто сообщите, что выборка выполнена до этого шага.
Так почему же эти два различны в этом случае?
HEAD
— это только проверенная в данный момент фиксация/ветвь, в данном случае в источнике. Удаленный репозиторий не обязательно должен бытьmaster
проверен. В вашем случае, похоже, это так. - person Jeff Mercado   schedule 23.01.2017origin/HEAD
и (3) libgit2sharp против самого Git. Я не использую и не использую libgit2sharp, но обработка Git как символических ссылок во время клонирования, так и самогоorigin/HEAD
менялась в разных версиях Git, поэтому версия Git вашего сервера будет иметь значение, и что бы ни делал libgit2sharp (и какая версия Git, как он утверждает) будет также иметь значение. - person torek   schedule 23.01.2017