É possível configurar arquivos / pastas para serem ignorados por projeto no controle de origem TFS?
Por exemplo, eu tenho um site com uma pasta de ativos que não quero acessar no controle de origem. Esses ativos são mantidos por um sistema separado. Além disso, não quero colocar vários gigabytes de ativos no controle de origem, mas preciso de algumas amostras na minha máquina de desenvolvimento, mas também não quero verificá-las.
Se eu estiver trabalhando neste site enquanto estiver vinculado ao controle de origem e atualizar a árvore, esses arquivos serão adicionados automaticamente novamente
Eu quero impedir que isso aconteça.
Respostas:
Para VS2015 e VS2017
Funciona com TFS (no local) ou VSO (Visual Studio Online - a oferta hospedada pelo Azure)
A documentação do NuGet fornece instruções sobre como fazer isso e eu as segui com sucesso no Visual Studio 2015 e Visual Studio 2017 no VSTS (TFS hospedado no Azure). Tudo está totalmente atualizado a partir de
novembro de 2016 eagosto de 2018.Eu recomendo que você siga as instruções do NuGet, mas apenas para recapitular o que fiz:
packages
pasta não está comprometida com o TFS. Se for, tire-o de lá..sln
arquivo existe, a menos que seja especificado de outra forma (as instruções do NuGet não são totalmente claras sobre isso)..nuget
pasta Você pode usar o Windows Explorer para nomeá-.nuget.
lo para salvar com êxito como.nuget
(ele remove automaticamente o último período), mas tentar nomeá-lo diretamente.nuget
pode não funcionar (você pode receber um erro ou alterar o nome, dependendo da sua versão do Windows ) Ou nomeie o nuget do diretório e abra o diretório pai no prompt da linha de comandos. tipo. ren nuget .nugetNuGet.config
arquivo, adicione o seguinte conteúdo e salve-o:NuGet.config:
.sln
pasta da sua e crie um novo arquivo de texto e nomeie-o.tfignore
(se estiver usando o Windows Explorer, use o mesmo truque que o descrito acima e nomeie-o.tfignore.
).tfignore:
.tfignore
arquivo e a.nuget
pasta em todas as minhas várias soluções e as confirmei e não tenho mais apackages
pasta tentando entrar no meu repositório de controle de origem!Personalização adicional
Embora não seja meu, achei este
.tfignore
modelo de sirkirby útil. O exemplo na minha resposta cobre apackages
pasta Nuget, mas esse modelo inclui outras coisas, além de fornecer exemplos adicionais que podem ser úteis se você desejar personalizar ainda mais.fonte
Se você estiver usando espaços de trabalho locais (TFS 2012+), agora poderá usar o
.tfignore
arquivo para impedir que pastas e arquivos locais sejam verificados.Se você adicionar esse arquivo ao controle de origem, poderá garantir que outras pessoas da sua equipe compartilhem as mesmas configurações de exclusão.
Detalhes completos no MSDN - http://msdn.microsoft.com/en-us/library/ms245454.aspx#tfignore
Para os preguiçosos:
Arquivo de exemplo:
fonte
.tfignore
assim que eu criei.tfignore.
e removido o último ponto sobre o seu próprio ...tfignore
arquivo devido à falta de um nome adequado, você poderá criá-lo ou renomeá-lo através de uma janela da linha de comando.ele faz parecer um pouco complicado para ignorar arquivos (e pastas) no Team Foundation Server. Encontrei algumas maneiras de fazer isso (usando o TFS / Team Explorer / Visual Studio 2008). Esses métodos também funcionam com o tipo de projeto ASP do site.
Uma maneira é adicionar um item novo ou existente a um projeto (por exemplo, clique com o botão direito do mouse no projeto, Adicionar item existente ou arraste e solte do Windows Explorer para o Solution Explorer), deixe o TFS processar o (s) arquivo (s) ou pasta (s) e, em seguida, desfazer a pendência alterações nos itens. O TFS irá desmarcá-los como tendo uma alteração de adição pendente, e os arquivos ficarão quietos no projeto e ficarão fora do TFS.
Outra maneira é com o comando Adicionar itens à pasta do Source Control Explorer. Isso inicia um pequeno assistente e, em uma das etapas, você pode selecionar itens a serem excluídos (embora eu ache que seja necessário adicionar pelo menos um item ao TFS com esse método para que o assistente continue).
Você pode até adicionar uma política de check-in de padrões proibidos (em Equipe -> Configurações do projeto de equipe -> Controle de origem ... -> Política de check-in) para impedir que outras pessoas na equipe façam check-in por engano em determinados ativos.
fonte
Para o TFS 2013 :
Inicie no VisualStudio- Team Explorer , na caixa de diálogo PendingChanges, desfaça as alterações com o estado [add], que deve ser ignorado.
O Visual Studio detectará os Add (s) novamente. Clique em "Detectado: x add (s)" em Alterações excluídas
No diálogo "Promover alterações de cadidato" aberto, você pode excluir facilmente arquivos e pastas com o menu de contexto. As opções são:
Não se esqueça de fazer check-in no arquivo .tfignore alterado.
Para o VS 2015/2017 :
O mesmo procedimento: Na "Guia Mudanças Excluídas" no TeamExplorer \ Mudanças Pendentes, clique em Detectado: xxx add (s)
A caixa de diálogo "Promover alterações de candidatos" é aberta e, nas entradas, você pode clicar com o botão direito do mouse no menu de contexto. O erro de digitação está corrigido agora :-)
fonte
Encontrei a maneira perfeita de ignorar arquivos no TFS, como o SVN.
Primeiro, selecione o arquivo que você deseja ignorar (por exemplo, o Web.config).
Agora vá para a guia do menu e selecione:
... e boom; seu arquivo é excluído permanentemente do controle de origem.
fonte
Eu vou assumir que você está usando projetos de sites. Eles rastreiam automaticamente o diretório do projeto e colocam tudo no controle de origem. Não há como detê-los.
No entanto, não se desespere. Os projetos de aplicativos da Web não exibem esse comportamento estranho e bastante inesperado (imho: idiota). O WAP é um complemento para o VS2005 e vem direto com o VS2008.
Como alternativa para alterar seus projetos para WAP, considere mover a pasta Assets para fora do controle Source e para uma Biblioteca de Documentos TFS. Faça isso apenas se o projeto em si não usar diretamente os arquivos de ativos.
fonte