Recuperar um ramo e resolver conflitos

Quer reunir vários commits locais antes de pedir uma revisão. Confirme o ramo atual e guarde as edições de que ainda precisa. O snapshot regista referências a commits. O stash guarda alterações que ainda não entraram num commit.

Antes de alterar o histórico

O Riff tenta registar o HEAD atual e os dados do ramo upstream antes de operações como rebase, squash, cherry-pick, merge, revert, reset, amend e push forçado. Mantém até 50 snapshots por repositório neste computador. Um repositório vazio ainda não tem um commit para restaurar. Verifique se a opção de anular está disponível para a operação pretendida.

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

Quando o Git indicar um conflito

  1. Consulte a operação em curso no aviso e abra um ficheiro em conflito. Compare as duas versões e a base comum, se disponível. Durante um rebase, leia o conteúdo antes de escolher Ours ou Theirs. O Git identifica os lados do ponto de vista da operação.
  2. Escolha uma versão para todo o ficheiro ou use o editor de três vias e decida, por região, se pretende uma versão, ambas ou texto escrito por si. Reveja e guarde o resultado.
  3. Resolva os restantes ficheiros e continue quando essa opção estiver disponível. Para cancelar a operação em curso e começar de novo, use a opção de abortar.

Anular, refazer e atualizar o remoto

Anular repõe o commit local registado através de um hard reset. Proteja as edições atuais antes de confirmar. Refazer continua disponível após reiniciar a aplicação se o HEAD ainda corresponder ao estado deixado ao anular. Se o histórico mudou, examine o gráfico antes de prosseguir.

O push forçado usa --force-with-lease. Se o ramo remoto tiver uma revisão diferente da esperada pelo Git, o envio é recusado. Faça fetch e examine os commits recebidos. Anular depois de um push altera a cópia local. Atualizar o servidor exige outro push e a permissão correspondente no serviço de alojamento.

Comparar o resultado no gráfico de commits.