// Documentação do Singularity
Resolver um conflito Git: à mão ou com um ticket de IA
Quando o Git recusa um merge, o Singularity não escreve nada: mostra os ficheiros em conflito e deixa-te escolher entre o editor de três painéis e um ticket de resolução confiado a um agente num worktree dedicado.
O diálogo «Merge conflict»
Pode surgir um conflito ao fazer merge de um ramo a partir do menu do grafo, ao integrar o worktree de um ticket com Merge into main…, ou durante um pull ou um rebase. O Singularity mostra então o diálogo Merge conflict: os ramos em causa, a lista dos ficheiros em conflito e a garantia de que não foi feito nenhum merge nem nenhum push.
Três opções: Cancel, Merge manually ou Create a resolution ticket. Um merge ou um rebase já iniciado também pode ser abortado para voltar ao estado anterior.

Resolver à mão: o editor de três painéis
Merge manually abre o separador Resolve conflicts. Para cada ficheiro, o painel Current branch e o painel Incoming source apresentam as duas versões; assinala Keep current block, Take incoming block ou ambos, bloco a bloco ou linha a linha. O painel Result mostra o ficheiro final em tempo real.
Nada é escrito antes da confirmação: Resolve files aplica as tuas escolhas e conclui o merge, Create a ticket instead muda para a resolução por um agente e Cancel abandona.

Confiar o conflito a um agente
Create a resolution ticket abre o diálogo de criação, pré-preenchido: o ramo a integrar, o ramo de destino, o motivo da recusa do Git e a lista dos ficheiros em conflito. Escolhe o agente, o modelo e o nível de raciocínio e cria o ticket. É criado com prioridade alta.
O agente trabalha num worktree dedicado: resolve o conflito, executa as verificações do projeto e conclui o merge. Revês o resultado na revisão antes da integração, como em qualquer outro ticket.

Acompanhar a resolução no board
O ticket de resolução entra em Todo no Mission Control, com a sua prioridade alta. Na vista Git do Navigator, a secção Worktrees do projeto lista os worktrees por integrar; expande um para encontrar Merge into main…, Graph e Explore. Consulta explorar o worktree de um ticket.

Perguntas frequentes
Um merge em conflito altera os meus ramos?
Não. O diálogo indica que não foi feito nenhum merge nem nenhum push: os dois ramos ficam na sua posição inicial enquanto não confirmares uma resolução.
O que recebe o agente num ticket de resolução?
O ticket é pré-preenchido com o ramo de origem, o ramo de destino e a lista dos ficheiros em conflito. É criado com prioridade alta e o agente resolve o conflito num worktree dedicado, que revês antes da integração.