Quando eu corro:
git status
Eu vejo isso:
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
Quando eu faço:
ls `git rev-parse --git-dir` | grep rebase || echo no rebase
Entendo: rebase-apply
Não posso me comprometer com a origem.
git branch
Shows:
* (no branch, rebasing master)
develop
master
Estou preso. Não sei o que fazer? Realmente leva tanto tempo para se recuperar? git rebase --continue
não faz nada. Eu não tenho nada no status git .. Estou apenas aguardando o rebase. O que eu posso fazer?
UDATE: Esta é a saída de: 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. não tem nada.
fonte
Fiquei preso no 'status rebase', fiquei
mas correr
git rebase --skip
cedeuerror: could not read '.git/rebase-apply/head-name': No such file or directory
.Correr
rm -fr ".git/rebase-apply"
ajudou.Nota: é claro, faça isso apenas se você não se importa com a rebase ou se você está preso em uma rebase anterior que não deseja mais.
fonte
Etapa 1: continue
git rebase --continue
Etapa 2: corrigir CONFLITOS e
git add .
Volte para a etapa 1, agora, se estiver escrito
no changes ..
, executegit rebase --skip
e volte para a etapa 1Se você apenas deseja sair do rebase, execute
git rebase --abort
Depois que todas as alterações estiverem concluídas, execute
git commit -m "rebase complete"
e pronto.fonte
Você disse ao seu repositório para reorganizar. Parece que você estava em um commit (identificado pelo SHA 9c168a5) e, em seguida, fez
git rebase master
orgit pull --rebase master
.Você está refazendo o mestre de ramificação nesse commit. Você pode finalizar o rebase via
git rebase --abort
. Isso colocaria de volta ao estado em que você estava antes de começar a rebasear.fonte
git rebase/pull --rebase master
. Eu frequentemente acabo nesse estado ... por causa de um conflito. I alterar um arquivo, faça um puxão, restaurar as minhas alterações e o novo patch está vazio que dói cérebro de git que então decide entrar neste "modo de rebase" ...Eu entrei neste estado recentemente. Depois de resolver conflitos durante uma nova reformulação, confirmei minhas alterações, em vez de executar
git rebase --continue
. Isso produz as mesmas mensagens que você viu quando executou seus comandosgit status
egit rebase --continue
. Resolvi o problema executandogit rebase --abort
e, em seguida, executando novamente o rebase. Provavelmente, também é possível pular a reformulação, mas eu não tinha certeza em que estado isso me deixaria.fonte
--abort
(+1), agora você tem--quit
( stackoverflow.com/a/41363262/6309 )Se
git rebase --abort
não funcionar e você ainda conseguirTipo:
fonte
Eu configurei meu
git
para autorebase em umgit checkout
Caso contrário, ele será mesclado automaticamente quando você alterna entre ramificações, o que eu acho que é a pior escolha possível como padrão.
No entanto, isso tem um efeito colateral, quando alterno para um ramo e, então,
git cherry-pick <commit-id>
acabo nesse estado estranho toda vez que há um conflito.Na verdade, tenho que abortar o arquivo
rebase
, mas primeiro eu corrijo o conflito,git add /path/to/file
o arquivo (outra maneira muito estranha de resolver o conflito nesse caso ?!), depois execute umgit commit -i /path/to/file
. Agora eu posso abortar orebase
:O segundo
git commit .
parece vir do aborto. Vou corrigir minha resposta se descobrir que devo abortar o quantorebase
antes.A
--force
sobre o impulso é necessário se você ignorar outros commits e ambos os ramos não são suavizar (ambos estão faltando commits do outro).fonte
autosetupmerge
tem a ver com a forma comogit pull
está configurado para novos ramos.Outra opção para ABORTAR / PULAR / CONTINUAR no IDE
fonte
O meu foi um erro que apareceu no BitBucket. Ran
git am --skip
consertou.fonte