Recuperar uma branch e resolver conflitos

Você quer reunir vários commits locais antes de pedir uma revisão. Confira a branch atual e salve as edições que pretende manter. O snapshot registra referências a commits. O stash guarda mudanças ainda sem commit.

Antes de alterar o histórico

O Riff tenta registrar o HEAD atual e as informações da branch upstream antes de operações como rebase, squash, cherry-pick, merge, revert, reset, amend e push forçado. O aplicativo mantém até 50 snapshots por repositório neste computador. Um repositório vazio ainda não tem commit para restaurar. Confira se a opção Desfazer está disponível para a operação desejada.

Se o Riff sugerir guardar as alterações em um stash, revise o conteúdo e confirme ou cancele. Depois da operação, abra a lista de stashes e escolha quando restaurar a entrada. Aplicar preserva o stash na lista. Um pop bem-sucedido restaura as alterações e remove a entrada.

Quando o Git indicar um conflito

  1. Confira a operação em andamento no aviso e abra um arquivo em conflito. Compare as duas versões e a base comum quando disponível. Durante um rebase, leia o conteúdo antes de escolher Ours ou Theirs. O Git nomeia os lados do ponto de vista da operação.
  2. Escolha uma versão para o arquivo inteiro ou use o editor de três vias para combinar trechos dos dois lados, manter ambos ou escrever sua própria solução. Revise e salve o resultado.
  3. Resolva os demais arquivos e clique em Continuar quando a opção estiver disponível. Para abandonar a operação em andamento e começar de novo, use Abortar.

Desfazer, refazer e atualizar o remoto

Desfazer restaura o commit local registrado por meio de um hard reset. Proteja suas edições atuais antes de confirmar. Refazer continua disponível após reiniciar o aplicativo se o HEAD ainda corresponder ao estado deixado por Desfazer. Se o histórico mudou, examine o gráfico antes de prosseguir.

O push forçado usa --force-with-lease. Se a branch remota estiver em uma revisão diferente da esperada pelo Git, o envio é recusado. Faça fetch e examine os commits que chegaram. Desfazer depois de um push altera sua cópia local. Atualizar o servidor exige outro push e a permissão correspondente no provedor.

Comparar o resultado no gráfico de commits.