Когда я бегу:
git status
Я вижу это:
rebase in progress; onto 9c168a5
You are currently rebasing branch 'master' on '9c168a5'.
(all conflicts fixed: run "git rebase --continue")
nothing to commit, working directory clean
Когда я делаю:
ls `git rev-parse --git-dir` | grep rebase || echo no rebase
Я вижу: rebase-apply
Я не могу указать происхождение.
git branch
шоу:
* (no branch, rebasing master)
develop
master
Я застрял. Я не знаю что делать? Неужели перезагрузка занимает столько времени? git rebase --continue
ничего не делает. У меня в git status ничего нет .. Жду ребаза. Что я могу сделать?
UDATE: это результат: git rebase --continue
Applying: no message
No changes - did you forget to use 'git add'?
If there is nothing left to stage, chances are that something else
already introduced the same changes; you might want to skip this patch.
When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".
git add. ничего не имеет.
источник
Я застрял в статусе перебазирования, я получил
но бег
git rebase --skip
уступил местоerror: could not read '.git/rebase-apply/head-name': No such file or directory
.Бег
rm -fr ".git/rebase-apply"
помог.Примечание: конечно, делайте это только в том случае, если вас не волнует перебазирование или если вы застряли на предыдущем перебазировании, которое вам больше не нужно.
источник
Шаг 1. Продолжайте
git rebase --continue
Шаг 2: устраните КОНФЛИКТЫ, затем
git add .
Вернемся к шагу 1, теперь, если он говорит,
no changes ..
то бегите,git rebase --skip
вернитесь к шагу 1Если вы просто хотите выйти из перезагрузки, запустите
git rebase --abort
Как только все изменения будут сделаны, запустите,
git commit -m "rebase complete"
и все готово.источник
--continue
не сработало, это сказало мне, что ничего не изменилось ... Но как только я сделал--skip
, я мог простоpush
. Я просто не понимаю этого. Как будто я каждый раз делаю совершенно случайные вещи, пока это не сработает.--skip
когда нет изменений, чтобы вы могли продолжить перебазирование при следующей фиксации из основной ветки. Что на самом деле происходит, так это то, что вы воспроизводите все свои изменения (в текущей ветке) в основной ветке, чтобы вы были в курсе основной ветки, а также поместили свои изменения после этого. Пройдите: git-scm rebasing (пройдите только The Basic Rebase по ссылке, и вы должны получить хорошее представление о том, что происходит).Вы сказали своему репозиторию переустановить. Похоже, вы совершили фиксацию (идентифицированную SHA 9c168a5), а затем сделали
git rebase master
илиgit pull --rebase master
.Вы переустанавливаете мастер ветки на этот коммит. Вы можете завершить перебазирование с помощью
git rebase --abort
. Это вернет состояние, в котором вы были до того, как начали перебазирование.источник
git rebase/pull --rebase master
. Я часто попадаю в это состояние ... из-за конфликта. Я меняю файл, делаю вытягивание, восстанавливаю свои изменения, и новый патч оказывается пустым, что вредит мозгу git, который затем решает войти в этот "режим перебазирования" ...Я недавно попал в это состояние. После разрешения конфликтов во время перезагрузки я зафиксировал свои изменения, а не запустил
git rebase --continue
. Это дает те же самые сообщения , которые вы видели , когда вы запускали своюgit status
иgit rebase --continue
команду. Я решил проблему, запустивgit rebase --abort
, а затем повторно запустив перебазирование. Скорее всего, можно было бы пропустить перебазирование, но я не был уверен, в каком состоянии я останусь.источник
--abort
(+1) у вас теперь есть--quit
( stackoverflow.com/a/41363262/6309 )Если
git rebase --abort
не работает и вы все равно получаетеТип:
источник
Я насторить
git
к autorebase на аgit checkout
В противном случае он автоматически объединяется при переключении между ветвями, что я считаю наихудшим вариантом по умолчанию.
Однако у этого есть побочный эффект, когда я переключаюсь на ветку и
git cherry-pick <commit-id>
попадаю в этот странный состоянии каждый раз, когда возникает конфликт.На самом деле мне нужно прервать
rebase
, но сначала я исправляю конфликт,git add /path/to/file
файл (еще один очень странный способ разрешить конфликт в этом случае ?!), а затем выполняюgit commit -i /path/to/file
. Теперь я могу прерватьrebase
:Второй
git commit .
вроде как от аборта. Я исправлю свой ответ, если узнаю, что мне нужно прервать операциюrebase
раньше.--force
На толчке требуется , если вы пропустите другие фиксации и обе ветви не гладкие (оба отсутствуют коммиты из других).источник
autosetupmerge
имеет отношение к тому, какgit pull
настроен для новых веток.Другой вариант ABORT / SKIP / CONTINUE из IDE
источник
Моя ошибка возникла из BitBucket. Ран
git am --skip
исправил это.источник