Resolução de conflitos
Um conflito ocorre quando são feitas alterações no mesmo item no workspace e no repositório do Git remoto. Quando ocorre um conflito, o status do Git diz que Conflito e Confirmado está desabilitado.
Se você selecionar Atualizar quando existirem conflitos, uma mensagem notificará que é necessário resolver os conflitos antes de fazer a atualização.
Existem três maneiras de resolver um conflito:
- Selecionar a versão a ser mantida por meio da interface do usuário.
- Reverter o workspace ou o repositório do Git para um estado sincronizado anterior.
- Resolva o conflito no Git.
Resolução de conflitos na interface do usuário
Selecione Atualizar tudo para conferir uma lista de todos os itens que têm conflitos. Em seguida, você pode selecionar a versão que será mantida para cada item. Para cada item em conflito, você pode optar por aceitar as alterações recebidas do repositório do Git ou manter a versão atual que está no espaço de trabalho.
Escolha Aceitar alterações recebidas para substituir as alterações no Espaço de Trabalho. As alterações no espaço de trabalho são perdidas e o status do Git é alterado para sincronizado se a importação for bem-sucedida.
Escolha Manter conteúdo atual para manter a versão que está no espaço de trabalho. Após a conclusão da atualização, o status do Git se tornará alterações não confirmadas, pois as alterações no espaço de trabalho ainda não foram confirmadas no branch.
Reverter para estados anteriores
Você pode reverter todo o espaço de trabalho ou GIT branch para o último estado sincronizado. Se você reverter o GIT branch para um commit anterior, ainda poderá ver as alterações feitas no branch não sincronizado. Se você reverter o espaço de trabalho, perderá todas as alterações feitas no espaço de trabalho desde a última confirmação.
Para reverter para o estado sincronizado anterior, execute uma das seguintes ações:
- Utilize o comando Desfazer para retornar os itens em conflito no espaço de trabalho ao seu último estado sincronizado.
- Reverta para o último estado sincronizado no Git usando o comando
git revert
no Azure DevOps.
Você também pode resolve conflitos desconectando e reconectando o workspace. Ao se reconectar, selecione a direção que deseja sincronizar. Observe que, no entanto, ao se reconectar, todos os itens do espaço de trabalho ou da ramificação são substituídos, e não apenas os que estão em conflito. Ele não retorna o workspace ou o branch para o último estado sincronizado. Em vez disso, ele substitui todo o conteúdo em um local com o conteúdo do outro.
Resolver conflito no git
Se você não tiver certeza de quais alterações foram feitas e qual versão escolher e não quiser reverter para um estado anterior, poderá tentar resolver o conflito no repositório do Git criando um novo branch e sincronizando-o com o atual.
Observação
Somente um administrador do espaço de trabalho pode reconectar o espaço de trabalho à nova ramificação.
No painel Controle do código-fonte, faça check-out de um novo branch usando a última ID de branch sincronizada mostrada na parte inferior da tela
Esta etapa cria um novo branch do branch conflitante usando o último estado do Git sincronizado, antes que as alterações sejam feitas em conflito com suas alterações. É possível conferir suas alterações no painel Controle do código-fonte, mas não há nada para ser atualizado no GIT branch. A ramificação fazer check-out mantém o estado atual do espaço de trabalho, de modo que as alterações não confirmadas são mantidas ao alterar a ramificação.
Confirme suas alterações no novo branch. Esse novo branch agora tem as alterações feitas nos itens conectados a uma versão anterior do GIT branch que não está em conflito com suas alterações.
No git, resolva os conflitos entre o branch original e o novo branch.
No git, mescle o novo branch no branch original
No Fabric, alternância do espaço de trabalho do Fabric para a ramificação original.