TFS: Atualizando branch com alterações do principal


100

Então, nós temos nossa linha de dev principal, eu crio um branch e o desenvolvedor b cria um branch. Nós dois fazemos algum trabalho. o desenvolvedor b termina seu trabalho e se funde novamente na linha de dev principal. Eu sei que suas mudanças me afetarão, e ao invés de lidar com os conflitos mais tarde, eu gostaria de atualizar meu branch, com as mudanças que agora estão na linha de dev principal, para que eu possa lidar com elas em meu branch, antes de mesclar de volta ao principal.

Como faço isso?

Respostas:


175

No Visual Studio, abra o Source Control Explorer:

  • Ver | Team Explorer
  • Selecione seu projeto de equipe no Team Explorer, expanda-o e clique duas vezes em Controle de código-fonte
  • No painel esquerdo do Source Control Explorer, selecione seu projeto de equipe .
  • No painel direito, encontre seu branch da linha principal, clique com o botão direito e selecione Mesclar ...
  • No menu suspenso Ramificação de destino , selecione sua ramificação de desenvolvimento.
  • Se você quiser um subconjunto de todas as mudanças na linha principal:
    • Escolha o botão de opção changesets selecionados e clique em Avançar .
    • Selecione os changesets que representam a fusão de seu outro branch de dev para o principal, clique em Next .
  • Caso contrário, mantenha todas as alterações até uma versão específica selecionada, clique em Avançar
    • A próxima etapa é escolher um tipo de versão. O padrão, a versão mais recente é obviamente direta e autoexplicativa: você estaria trazendo todas as alterações desde que seu branch foi criado da linha principal para o seu branch. As outras opções são diretas, mas uma explicação tutorial de cada opção disponível aqui ocuparia uma boa quantidade de espaço.
    • Percorra as etapas restantes do assistente.
  • Clique em Concluir .
  • Se houver algum erro ou conflito de mesclagem, você será solicitado a resolvê-los, semelhante ao que veria se verificasse suas alterações no controle de origem quando outras alterações tivessem sido feitas desde a última verificação.
  • Depois que a fusão for concluída, todas as alterações estarão em sua cópia local do branch, mas ainda não serão confirmadas no controle de origem. Depois de concluir todas as suas compilações e testes em seu branch, você pode verificar a fusão. Do Visual Studio:
    • Ver | Outras janelas | Alterações Pendentes
    • Certifique-se de que todos os arquivos relacionados a esta mesclagem estejam verificados, adicione comentários que descrevam a mesclagem e clique em Check-in .

Eu recomendo manter as mesclagens (e qualquer resolução de conflito de mesclagem necessária, quebras de construção, quebras de teste) como seu próprio changeset. Ou seja, não misture outro trabalho de recurso com mesclagens. Os conjuntos de alterações granulares tornam muito mais fácil revisar o histórico de controle de origem e identificar uma única mudança de interesse. Manter o trabalho de mesclagem em seu próprio changeset ajuda a trabalhar em direção a esse objetivo.

Também existe uma linha de comando para mesclar, executada a tf merge /?partir de um Prompt de Comando do Visual Studio.

Boa sorte e divirta-se!


1
Funcionou perfeitamente. Obrigado. Só queria ter certeza de que fiz isso da maneira correta. Isto é perfeito.
CaffGeek de

E se, quando me pediram para resolver conflitos, eu cometi um erro sobre como resolver o conflito e só quisesse corrigi-lo para aquele arquivo. É possível reverter esse arquivo e fundir novamente esse arquivo para ter uma segunda chance de fusão de conflito?
Didier A.

E se eu quiser mesclar um rótulo específico da origem Main em meu Branch de destino? O rótulo desejado é criado após a operação de ramificação original (apenas para maior clareza)
Simon Bosley
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.