Почему я не могу положить sh HEAD ^ в начало координат без указания ветви? - PullRequest
0 голосов
/ 31 марта 2020

В моей ветви функций:

$ git push origin HEAD
Counting objects: 6, done.
...

Но:

$ git push origin HEAD^
fatal: remote part of refspec is not a valid name in HEAD^

Почему мне нужно указать ветку (в отличие от простого HEAD):

$ git push origin HEAD^:my_branch
Everything up-to-date

1 Ответ

1 голос
/ 31 марта 2020

См. git help push. Обычно аргумент refspe c состоит из двух частей, разделенных двоеточием. Двоеточие и ссылка назначения могут быть опущены:

Если git push [<repository>] без какого-либо аргумента <refspec> настроен для обновления некоторой ссылки в месте назначения с <src> с помощью переменной конфигурации remote.<repository>.push , :<dst> часть может быть опущена - такой pu sh будет обновлять ссылку, которую <src> обычно обновляет без каких-либо <refspec> в командной строке. В противном случае пропущенный :<dst> означает обновление той же ссылки, что и <src>.

Но HEAD^ не настроен для обновления каких-либо ссылок и еще не существует на удаленном компьютере, поэтому git не знает, какой удаленный реф обновить с него.

...