У меня есть ветвь публичного репозитория, и я пытаюсь обновить свою ветку с текущими коммитами из исходного репозитория:
$ git fetch <remote>
remote: Counting objects: 24, done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 20 (delta 12), reused 0 (delta 0)
Unpacking objects: 100% (20/20), done.
From git://github.com/path_to/repo
9b70165..22127d0 master -> $/master
$ git rebase <remote>
fatal: Needed a single revision
invalid upstream <remote>
<remote>
вместо моего удаленного имени и на самом деле не является моим удаленным именем. Документация по этой ошибке кажется немного свободной.
Ответ 1
Вам нужно указать имя ветки (или другого идентификатора фиксации), а не имя пульта дистанционного управления на git rebase
.
например:.
git rebase origin/master
не
git rebase origin
Обратите внимание, что хотя origin
следует разрешить ref origin/HEAD
при использовании в качестве аргумента, в котором требуется ссылка для фиксации, кажется, что не каждый репозиторий получает такую ссылку, чтобы он не мог (и в вашем случае doesn t) работает. Он платит, чтобы быть явным.
Ответ 2
Убедитесь, что правильно написано название ветки. Я перезарядил ветку истории (т.е. branch_name
) и забыл часть истории. (т.е. story/branch_name
), а затем git плюнуть на эту ошибку, что в этом контексте не имеет особого смысла.
Ответ 3
Я столкнулся с этим и понял, что я не выбрал восходящий поток, прежде чем пытаться переустановить. Все, что мне было нужно, это git fetch upstream
Ответ 4
Проблема в том, что вы отделили ветку.... где вы пытаетесь переустановить. Вы не можете переустанавливать ветку, которая не содержит фиксацию, на которой была создана ваша текущая ветка.
Я получил это, когда я сначала пересобил локальную ветвь X до нажатой кнопки Y, а затем попытался пересоединить ветвь (сначала созданную на X) до нажатой кнопки Y.
Решено для меня, переустановив на X.
У меня нет проблем с переустановкой удаленных ветвей (возможно, даже не проверенных), если моя текущая ветка связана с предком этой ветки.
Ответ 5
Для удаленного origin
:
$ echo "ref: refs/remotes/origin/master" > .git/refs/remotes/origin/HEAD
Ответ 6
Я ошибочно набрал git rebase
, когда имел в виду git bisect
. Убедитесь, что вы используете команду, которую вы ожидаете!