Partilhar via


Resolver conflitos de Controle de Versão do Team Foundation

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Uma vantagem de usar o Controle de Versão do Team Foundation (TFVC) para gerenciar seus arquivos é que várias pessoas podem trabalhar simultaneamente em um arquivo. Uma desvantagem é que, às vezes, você deve resolver conflitos antes de obter, fazer check-in, desarquivar, mesclar ou reverter seus arquivos.

Embora possa ser frustrante encontrar conflitos, o sistema fornece informações e ferramentas para ajudá-lo a entender e resolver conflitos.

Você também pode resolver conflitos a partir da linha de comando usando o comando Resolver.

Gorjeta

Se sua equipe precisar colaborar para resolver um grande número de conflitos, por exemplo, após uma operação de mesclagem em uma base de código grande, um espaço de trabalho público em uma máquina de desenvolvimento compartilhada pode ajudar. Para obter mais informações, consulte Criar e trabalhar com espaços de trabalho.

Resolver conflitos

Você pode usar a janela Resolver conflitos do Visual Studio para resolver conflitos que estão bloqueando você. Para abrir a janela, selecione Ações>Resolver conflitos na página Alterações Pendentes do Team Explorer.

Captura de ecrã a mostrar a utilização da janela Resolver Conflitos para resolver conflitos.

Por padrão, a janela mostra apenas os conflitos causados pela operação mais recente que você tentou. Quando a janela está nesse estado, aparece uma mensagem que começa: Filtro de caminho aplicado. Para mostrar todos os conflitos em seu espaço de trabalho, escolha Obter todos os conflitos. Uma mensagem que começa com: <N> Conflito(s) aparece.

Se tiver passado muito tempo desde que você fez alterações em arquivos em seu espaço de trabalho, novos conflitos podem ter ocorrido. Para atualizar a janela Resolver conflitos , escolha Atualizar.

Captura de ecrã que mostra a janela Resolver Conflitos.

Cada conflito contém informações e, às vezes, links que podem ajudá-lo a resolvê-lo. Para obter mais informações, você pode selecionar o conflito e escolher uma das seguintes opções:

  • Ícone Histórico.Histórico para ver o histórico do arquivo. Se a operação que causou o conflito for uma mesclagem ou uma reversão, você poderá escolher o controle de menu à direita de Histórico e, em seguida, selecionar Histórico de origem ou Histórico de destino. Para obter mais informações, consulte Obter o histórico de um item.

  • Ícone de comparação.Compare ou selecione a seta suspensa ao lado do ícone e escolha um comando. A janela Comparação é aberta.

  • Ícone de anotação.Anote para ver detalhes sobre todas as alterações feitas na versão mais recente do arquivo, incluindo quem fez cada alteração e quando a fez. Consulte Exibir alterações de arquivo usando anotações.

AutoResolver todos os conflitos

Por padrão, o sistema tenta resolver automaticamente todos os conflitos, a menos que você desative essa opção. Para desativar a AutoResolução Automática de Tudo, escolha Opções de ferramentas>. Na caixa de diálogo Opções, em Controle do>código-fonte Visual Studio Team Foundation Server, desmarque Tentar resolver conflitos automaticamente quando eles forem gerados.

Você também pode escolher manualmente AutoResolver Tudo na janela Resolver Conflitos e, em seguida, selecionar uma das seguintes opções:

  • Todos os tipos de conflito se você quiser que o sistema tente resolver os conflitos automaticamente usando todas as suas heurísticas.

  • Tipos de conflito específicos se você quiser que o sistema tente resolver os conflitos, mas deseja excluir algumas heurísticas.

    A caixa de diálogo Escolher conflitos para resolver é exibida. Marque ou desmarque as opções que deseja habilitar ou desabilitar e escolha AutoResolução.

    O sistema tenta resolver automaticamente os conflitos exibidos na janela Alterações pendentes . Todos os conflitos que o sistema não consegue resolver permanecem na janela. Você tem que resolver manualmente esses conflitos.

Compreender as opções automáticas

Você pode restringir os tipos de conflitos resolvidos automaticamente pela opção AutoResolver Tudo . Quando você escolhe AutoResolver Tudo e, em seguida, seleciona Tipos de Conflito Específicos, a caixa de diálogo Escolher Conflitos para Resolver é exibida.

Captura de ecrã que mostra a caixa de diálogo Escolher Conflitos a Resolver.

Causa do conflito

Exemplo

Seleção da caixa de seleção


Alterações de conteúdo não conflitantes foram feitas em cada versão de um arquivo.

Na versão do arquivo à esquerda, um zero foi adicionado no início. No arquivo à direita, um três foi adicionado no final:

Captura de tela de alterações de conteúdo não conflitantes.

Conflitos com quaisquer alterações de conteúdo

As alterações de conteúdo foram feitas durante uma operação de obtenção ou check-in que são exclusivas para o espaço de trabalho ou durante uma operação de mesclagem ou reversão que são exclusivas para a versão de destino.

As entradas quatro e cinco foram adicionadas ao espaço de trabalho ou à versão de destino:

Captura de tela de alterações de conteúdo exclusivas para o espaço de trabalho ou destino.

Conflitos com alterações de conteúdo feitas somente no espaço de trabalho local ou ramificação de destino

As alterações de conteúdo foram feitas durante a operação de obtenção ou check-in que são exclusivas para o servidor ou durante uma operação de mesclagem ou reversão que são exclusivas para a versão de origem.

As entradas quatro e cinco foram adicionadas ao servidor ou à versão de origem:

Captura de tela de alterações de conteúdo exclusivas para o servidor ou origem.

Conflitos com alterações de conteúdo feitas somente na versão do servidor ou ramificação de origem

Um arquivo foi renomeado no servidor durante uma operação get ou check-in ou na ramificação de origem durante uma operação de mesclagem ou reversão.

Você fez check-out de um arquivo chamado launch.cs e trabalhou nele. Durante esse tempo, outra pessoa fez check-in de um conjunto de alterações que afetava o mesmo arquivo. Esse conjunto de alterações não modificou o conteúdo do arquivo, mas alterou o nome do arquivo para start.cs.

Conflitos causados pela renomeação de arquivo na versão do servidor ou ramificação de origem

Foram feitas alterações comuns de conteúdo que resultaram em conteúdo idêntico em cada versão. Ou, você alterou um arquivo, fez check-in por meio de uma compilação de check-in fechado e selecionou a opção Preservar minhas alterações pendentes localmente .

As alterações em cada versão resultaram em conteúdo de arquivo idêntico. As alterações podem ser no conteúdo dos arquivos, conforme mostrado no exemplo a seguir:

Captura de tela que mostra alterações de conteúdo idênticas em ambas as versões.

Conflitos causados por alterações idênticas no servidor e no espaço de trabalho

Essa opção também resolve conflitos causados por todas as outras operações, por exemplo, renomear, excluir, cancelar exclusão e ramificação, que resultam em arquivos idênticos.

Gorjeta

Se você marcar essa caixa de seleção, quando continuar, o sistema resolverá essas alterações baixando a versão do servidor para o espaço de trabalho.

Conflitos selecionados do AutoMerge

Para tentar resolver conflitos selecionados usando todas as opções de mesclagem automática anteriores, selecione um ou mais conflitos e escolha AutoMesclagem.

Gorjeta

Você pode pressionar e segurar a tecla Ctrl ou Shift para selecionar vários conflitos.

Nota

Se o AutoMerge estiver desativado, você deverá resolver manualmente os conflitos.

Resolver manualmente conflitos selecionados

Se o sistema não conseguir resolver automaticamente um conflito ou se quiser certificar-se de que compreende o que está a mudar, tem de resolver manualmente o conflito. Dentro de cada conflito, o sistema exibe as ações que você pode tomar para resolver o conflito. As ações exibidas dependem do tipo de conflito e da operação que causou o conflito.

Usar a janela Mesclar

Quando alterações de conteúdo conflitantes causam um conflito, você pode escolher Mesclar alterações na ferramenta de mesclagem. A janela Mesclar é exibida.

Captura de tela que mostra as alterações de mesclagem na ferramenta de mesclagem.

Na janela Mesclar, você pode:

  • Selecione o layout da janela: Modo de Exibição Vertical, Modo de Exibição Horizontal ou Modo de Exibição Misto.
  • Navegue entre as diferenças e os conflitos.
  • Selecione itens das versões esquerda e direita do arquivo para incluí-los nos resultados.
  • Digite mais conteúdo no arquivo no painel Resultado .
  • Veja o histórico do ficheiro. Para obter mais informações, consulte Obter o histórico de um item.
  • Compare as versões do arquivo.
  • Anote o arquivo para ver quem alterou o quê. Para obter mais informações, consulte Exibir alterações de arquivo usando anotações.

Quando estiver satisfeito com o conteúdo do painel Resultado , escolha Aceitar mesclagem.

O resultado da resolução do conflito aparece no painel Resultado .