Se um Git rebase foi interrompido enquanto você trabalhava em um Mac, verifique primeiro se ele ainda está em andamento com git status. Para retomar, resolva cada conflito, prepare (stage) apenas os arquivos que você resolveu e execute git rebase --continue. Para retornar ao estado da branch anterior ao rebase, execute git rebase --abort. Essas opções executam ações diferentes, portanto confirme qual resultado você deseja antes de inserir um comando.

1. Reabra o repositório e verifique seu estado

Abra o Terminal pelo Spotlight ou pela pasta Aplicativos > Utilitários do Finder. No Terminal, navegue até o diretório raiz do repositório e inspecione seu estado:

cd '/path/to/your/repository'
git status

Substitua o caminho de exemplo pelo caminho do seu repositório. Se você digitar um caminho que contenha espaços ou metacaracteres do shell, coloque-o entre aspas simples, conforme mostrado. O shell padrão do Terminal é o zsh, embora um administrador ou suas configurações possam especificar outro shell. Guia do Terminal da Apple

Se o Git informar que um rebase está em andamento, leia a saída de status para verificar os caminhos em conflito e a etapa atual. Se ele não relatar um rebase ativo, não execute --continue ou --abort por especulação; revise o status e o histórico recente antes de decidir o que aconteceu. O comando git status relata alterações na árvore de trabalho (working tree) e no índice (index), incluindo arquivos não rastreados (untracked), portanto leia a saída completa em vez de presumir que todos os arquivos pertencem ao rebase. Documentação do git status do Git

2. Retome resolvendo os conflitos com cuidado

Abra cada arquivo em conflito no seu editor. O Git marca os conflitos de texto com seções como <<<<<<<, ======= e >>>>>>>. Decida qual deve ser o conteúdo final, edite o arquivo e remova os marcadores de conflito. Não aceite um dos lados automaticamente, a menos que isso corresponda ao código ou texto pretendido. O guia de rebase do Git descreve a sequência de resolução de conflitos: edite os arquivos, prepare (stage) as resoluções e continue. Documentação do git rebase do Git

Volte ao Terminal e inspecione as alterações relevantes antes de prepará-las. Por exemplo:

git diff

Prepare cada caminho resolvido pelo nome, usando o caminho real mostrado pelo git status:

git add 'path/to/resolved-file'
git status
git rebase --continue

As aspas protegem caminhos com espaços ou metacaracteres do shell; omita-as se o caminho não precisar de aspas. O comando git add prepara o conteúdo atual do arquivo especificado, portanto inspecione o diff primeiro caso ele contenha edições não relacionadas. Verifique o status novamente para confirmar que a resolução correta foi preparada. O Git pode parar novamente em outro conflito ou solicitar que você edite uma mensagem de commit; siga as instruções e repita as etapas de resolver, preparar e continuar. Documentação do git add do Git

Use git rebase --skip somente quando quiser omitir deliberadamente o commit que está sendo reaplicado no momento. Ele avança além daquele patch; não é outra maneira de retomar o mesmo commit. Se você não tiver certeza se ignorar descartaria trabalho necessário, não o utilize. Opções do git rebase do Git

3. Cancele (abort) quando quiser desfazer o rebase

Se quiser interromper a operação e retornar ao estado original da branch, execute:

git rebase --abort
git status

O Git documenta o --abort como uma operação que redefine o HEAD para a posição original da branch (ou para a branch fornecida, caso uma tenha sido especificada no início do rebase). Em seguida, verifique o status e confirme se o resultado é o esperado. Documentação do git rebase do Git

Evite confundir --abort com --quit. O comando git rebase --quit encerra a operação de rebase mantendo o HEAD, o índice e a árvore de trabalho exatamente como estão naquele momento. Escolha essa opção somente se você quiser especificamente parar o rebase, mas reter o estado atual em andamento; ela não restaura a posição da branch anterior ao rebase. Se o rebase utilizou --autostash, o Git salvará esse stash temporário ao sair. Opções do git rebase do Git

4. Se o Terminal fechou ou o estado estiver incerto

Fechar uma janela do Terminal não indica, por si só, se o Git concluiu o rebase. Reabra o repositório e execute git status; continue a partir do estado informado. Não execute novamente o comando git rebase original enquanto um rebase existente estiver ativo.

Se uma interrupção deixou o repositório em um estado em que o Git não reconhece mais um rebase ativo, evite excluir manualmente arquivos de estado do .git ou usar reset --hard por tentativa. A documentação do Git observa que uma interrupção inoportuna com o backend apply pode deixar um rebase que um posterior --abort não consiga cancelar de forma limpa. Primeiro, preserve qualquer trabalho não commitado valioso, depois inspecione o git status e o git reflog para entender a movimentação recente das branches. O reflog registra as atualizações locais recentes nas pontas das branches; ele pode ajudar a identificar um commit anterior, mas restaurá-lo deve ser um ato deliberado. Notas sobre interrupção do rebase do Git, Documentação do git reflog do Git

Para o caso comum de conflito interrompido, a decisão segura é simples: resolva e prepare as alterações pretendidas antes de --continue, ou use --abort quando quiser abandonar o rebase e retornar ao ponto inicial. Verifique novamente com git status após qualquer uma das ações para saber em que estado a cópia de trabalho do seu Mac realmente se encontra.

Fontes