Подтвердить что ты не робот

Git тянуть начало HEAD

Мне научили, что вы можете нажать и вытащить из удаленной ветки, соответствующей имени вашей текущей ветки Git, выполнив:

git push origin HEAD

или

git pull origin HEAD

Он всегда работал на меня раньше, но он странно не работает иногда, вместо этого откладывает отключение/вытягивание из ветки master (что вызывает слияние при нажатии... не то, что я хотеть сделать). Я знаю, что вы можете легко нажать/вытащить из ветки, на которой вы находитесь, просто используя имя ветки, например:

git pull origin name-of-branch-i-want-to-pull-from

В любом случае

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

Ответ 1

Благодаря некоторой серьезной помощи @abackstrom, я смог исправить свою проблему. По существу, эта почта была моей проблемой и решением:

Git ветвь с именем origin/HEAD → Происхождение/мастер

Точная команда "воссоздать" /отслеживать локальную ветвь/указатель HEAD правильно:

git remote set-head origin -a

Я надеюсь, что это поможет кому-то еще, кто сталкивается с этой проблемой.

Ответ 2

HEAD на самом деле не является веткой. Это указатель на фиксацию, которую вы в настоящее время проверили, и часто ссылается на ветку, но если вы делаете что-то вроде git checkout <sha> или git checkout <tag>, тогда HEAD ссылается на фиксацию напрямую, без привязки к ветке - это называется состоянием "отдельно стоящего HEAD", и вы обычно должны получать предупреждение от git checkout, когда вы вводите такое состояние. В этом состоянии попытка нажать/вытащить HEAD не имеет смысла, так как вы не на ветке.