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

Git rebase fatal: требуется одна ревизия

У меня есть ветвь публичного репозитория, и я пытаюсь обновить свою ветку с текущими коммитами из исходного репозитория:

$ 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> вместо моего удаленного имени и на самом деле не является моим удаленным именем. Документация по этой ошибке кажется немного свободной.

4b9b3361

Ответ 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. Убедитесь, что вы используете команду, которую вы ожидаете!