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

Как использовать интерактивную переадресацию Git с локальным репозиторием (без удаленного/происходного)?

Я использую git как локальную систему управления версиями, в основном для отслеживания истории и diff. Я все еще хочу использовать rebase для исправления/сквоша на WIP, который я буду делать периодически. Когда я пытаюсь сделать git rebase -i, хотя, я получаю следующее:

There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
See git-rebase(1) for details

    git rebase <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=<remote>/<branch> MyBranch

Кажется, что git не ожидает, что вы будете использовать интерактивную rebase без восходящего пульта? Как это сделать?

4b9b3361

Ответ 1

git rebase -i в сокращении без указания ветки назначения сделает git предположим, что вы пытаетесь переустановить удаленное отделение, отслеживаемое вашей веткой. Поэтому сообщение об ошибке упоминает о пультах.

Когда вы укажете цель, git будет rebase против этого commit-ish:

git rebase -i <commit-ish>

Ответ 2

Итак, коротко - если у вас есть 3 локальных коммита, и теперь вы хотите интерактивно переупаковывать/сквош/и т.д.:

git rebase -i HEAD~3

(См. объяснение Себастьяна!)