Pergunta

Atualmente estou trabalhando em um projeto que usa TFS como controle de origem.Estou no meio da implementação de uma funcionalidade, mas estou bloqueado por um trabalho que precisa ser feito por recursos externos.Como a funcionalidade não está totalmente completa, não consigo verificar as alterações sem interromper a compilação.Então, em vez de esperar alguns dias até que o trabalho de bloqueio seja concluído, quero trabalhar em alguns defeitos.

Para fazer esse trabalho isoladamente de minhas outras alterações, estou trabalhando nos defeitos em um segundo espaço de trabalho que acabei de criar.

Depois de usar um segundo espaço de trabalho para isolar minhas alterações, um colega de trabalho me perguntou por que eu simplesmente não arquivei minhas alterações.Depois de ler algumas prateleiras, parece que esta é a solução preferida para situações como a minha. Minha pergunta é em quais situações, se houver, você criaria vários espaços de trabalho e em quais situações você deveria usar estantes? Existem algumas postagens sobre prateleiras, mas não vejo muito sobre espaços de trabalho.

A propósito, tive a ideia de criar um segundo espaço de trabalho aqui.

Foi útil?

Solução

Uma nova filial provavelmente seria o melhor caminho a percorrer.Mas, para responder à sua pergunta, uma das principais diferenças entre arquivar e apenas usar um espaço de trabalho diferente é que, ao arquivar, você envia seu código de volta ao TFS, para que seja feito backup dele.Tudo o que estiver em seu espaço de trabalho é exatamente o que você tem em sua máquina – se você perdê-lo, ele desaparecerá.

Usamos muito ramificações em minha loja e, por isso, não vi muitos usos para estantes.

No entanto, encontrei um caso em que foi muito útil para mim:Costumo alternar entre duas máquinas de desenvolvimento diferentes (uma no escritório, outra em casa, conectada via VPN).Se estou trabalhando em alguma coisa e quero transferi-la de casa para o trabalho, ou vice-versa, costumo usar estantes.Posso arquivá-lo de uma máquina e retirá-lo da outra.Faço isso quando estou no meio de uma mudança e o check-in interromperia a compilação ou interromperia outros desenvolvedores.

Outras dicas

Você está falando de dois conceitos completamente diferentes aqui.Ao arquivar o código, você o salva no TFS, mas não faz check-in em nenhuma ramificação específica.Criar um espaço de trabalho diferente apenas configura uma nova pasta local em suas máquinas de desenvolvimento e salva os arquivos em sua ramificação lá.Ao fazer um check-in, você ainda pode ter conflitos.

Por que não criar uma nova ramificação do seu código.Você pode trabalhar nesse branch e fazer check-in sem interferir nas alterações de ninguém, porque você está fazendo check-in em seu próprio branch do código.Então, quando você tiver concluído suas alterações e outros tiverem concluído as deles no branch principal, você poderá mesclar suas alterações no branch principal.

As estantes são a opção ideal.O shelving permite que você faça alterações em massa no TFS fora da compilação regular e recupere-as posteriormente por nome.Vários espaços de trabalho não são uma solução para o que você está fazendo.Vários espaços de trabalho são bons se você mantém versões diferentes de um produto e precisa trabalhar nelas, por exemplo.digamos que você tenha um produto 4.0 e 5.0 e precise aplicar uma correção de segurança em ambas as versões.Prateleiras são ótimas quando você deseja fazer alterações, mas não as confirma imediatamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top