Remova o mapeamento git no Visual Studio 2015


157

Esta questão não tem nada a ver com o próprio git; em vez disso, tem a ver com a remoção de uma ligação / mapeamento para um repositório git que o Visual Studio 2015 (VS2015) já viu anteriormente.

Aqui está uma captura de tela do problema: O botão Remover está acinzentado

Observe que o botão remover está acinzentado (desativado). Como posso remover esta entrada da lista "Repositórios locais de Git"?


É fácil com a versão NoGit atualmente não publicada, consulte stackoverflow.com/a/33789257/2284031
Ben Wilde

Ao adicionar uma nova solução, observe que o "add to git Repository" não está marcado no canto inferior direito.
Iman

1
Nenhuma das respostas abaixo funciona para mim. Então, acabei de usar uma solução alternativa: feche o Studio, renomeie a pasta .git para qualquer nome, por exemplo, .git1, abra o Studio, renomeie a pasta git de volta para .git. Lembre-se de que, para atribuir um nome de pasta a partir de um ponto no Windows, você precisa adicionar um ponto extra no final do nome, como ".git1".
Bruha

Respostas:


210

A solução é muito mais simples que isso. Você simplesmente precisa remover três arquivos do projeto UNC Path.

Navegue para o caminho UNC da sua solução.

Exemplo: C: \ Usuários \ Seu Nome de Usuário \ Documentos \ Visual Studio 2015 \ Projetos \ Sua Pasta do Projeto

Em seguida, exclua permanentemente ("SHIFT + DEL") os .git*arquivos e a pasta. Há dois arquivos e uma pasta que podem estar ocultos, portanto, verifique se você tem suas pastas e opções de pesquisa> Exibir> mostrar arquivos, pastas e unidades ocultas (botão de opção) selecionado.

Os arquivos a serem excluídos permanentemente são:

.gitignore (arquivo)

.gitattributes (arquivo)

.git (pasta)

Reabra o Visual Studio e não há mais relação com o Git Source Control. Se você quiser levá-lo ao ponto de removê-lo do registro, como mencionado acima, poderá fazê-lo, mas isso não deve ser necessário além da "manutenção da casa" da sua máquina.


2
+1. Na minha experiência, jogar com o registro não parece funcionar muito bem. Fiz isso depois de copiar meu projeto para outro local (uma vm para um local) e depois de remover o .gitignore, .gitattributes e .git, isso fez o truque.
precisa saber é

42
-1 Isso não está removendo o mapeamento git no VS, está removendo o próprio repositório git. A razão pela qual o VS deixa de ser mapeado para o git com essas etapas é que você deixou o repositório de lado. E as pessoas que querem usar o git, mas não querem que o VS se envolva? Era isso que o OP estava perguntando.
Rob Levine

5
@ Richard_D - basicamente - se você estiver usando o git da maneira padrão, essa pasta .git será o git. É a sua cópia local de tudo o que está no seu servidor git upstream e também é provavelmente a única cópia de qualquer filial local que você criou, mas não enviou. Muitas pessoas usam o git na linha de comando ou ferramentas como o SourceTree e não querem usar a integração do git no VS. Nesse caso, tudo o que queremos é desativar o suporte ao git no VS, e não violar nossa instalação local do git. Isso faz mais sentido, ou eu não entendi sua preocupação?
Rob Levine

4
Essa é uma ideia horrenda . Criminosamente negligente também vem à mente. Os difusores do cinto de segurança são outro. Isso não está removendo nenhum mapeamento, está excluindo o próprio repositório.
Panagiotis Kanavos

2
No meu caso, funcionou perfeitamente. Por engano, tentei adicionar um projeto ao controle de origem e de alguma forma colocá-lo em um repositório GIT localmente. Isso prejudica o objetivo do controle de origem, porque se a unidade travar, perco tudo. Eu tentei me conectar ao TFS e ele continuou retornando ao GIT. Removendo todos os arquivos GIT e reabrindo o VS, funcionou perfeitamente para mim. +! gentil senhor!
Logixologist #

59

Ferramentas -> Opções -> Controle de origem -> Plug-in de controle de fonte atual: Nenhum


4
Esta é a resposta real - no meu caso, embora eu sempre tenha usuário Team Foundation Server para controle de versão. Parece que a Microsoft está empurrando o Git - não gosto.
Alexey Shevelyov 7/10

Isso apenas fecha o projeto e desativa o controle de origem no visual studio. A próxima vez que você abrir a integração do git do projeto será reativada.
Skye MacMaster

40

Versão curta

  1. Remova as entradas apropriadas em HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\Repositories.

  2. Remova HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\General\LastUsedRepositoryse for o mesmo que o repo que você está tentando remover.

fundo

Parece que o Visual Studio rastreia todos os repositórios git que ele já viu. Mesmo se você fechar o projeto que estava referenciando um repositório, entradas antigas ainda poderão aparecer na lista.

Esse problema não é novo no Visual Studio:

VS2013 - Como remover o repositório git local da janela do Team Explorer, quando a opção Remover está sempre desativada?

Remover ligação Git da solução Visual Studio 2013?

Tudo isso parece muito trabalho para algo que provavelmente deveria ser um recurso embutido. As "soluções" acima mencionadas fazem modificações no arquivo .git, etc .; Não gosto da ideia de precisar alterar coisas fora do Visual Studio para afetar as coisas dentro do Visual Studio. Embora minha solução precise fazer algumas edições no registro (e seja externa ao VS), pelo menos elas afetam apenas o VS. Aqui está a solução alternativa (leia-se: hack):

Instruções detalhadas

Certifique-se de fechar o Visual Studio 2015 antes de seguir estas etapas.

1. Abra o regedit.exe e navegue até

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\Repositories

Repositórios do Regedit para VS

Você pode ver vários valores de "hash" que representam os repositórios que o VS está rastreando.

2. Encontre o repositório git que você deseja remover da lista. Observe os valores namee pathpara verificar o repositório correto a ser excluído:

verifique o repo para excluir

3. Exclua a chave (e as subchaves correspondentes).

(Opcional: antes de excluir, você pode clicar com o botão direito do mouse e escolher Exportar para fazer backup dessa chave, caso cometa um erro.) Agora, clique com o botão direito do mouse na chave (no meu caso, é isso AE76C67B6CD2C04395248BFF8EBF96C7AFA15AA9e selecione Excluir ).

4. Verifique se a LastUsedRepositorychave aponta para "outra coisa".

Se o mapeamento do repositório que você está tentando remover nas etapas acima estiver armazenado LastUsedRepository, será necessário remover essa chave também. Navegue primeiro para:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\General

localização da chave geral

e exclua a chave LastUsedRepository(a chave será recriada pelo VS, se necessário). Se você estiver preocupado em remover a chave, basta modificar o valor e configurá-lo para uma sequência vazia:

excluir último repo usado

Quando você abre o Visual Studio 2015 novamente, a ligação do repositório git não deve mais aparecer na lista.


Eu não acho que jogar com o registro seja uma boa idéia ... se isso funcionou para alguns, legal, mas na minha experiência, essa não é a aposta mais segura. Veja a resposta da @ helix para uma solução muito mais segura.
precisa saber é

3
@ Richard_D - a resposta da hélice não remove o mapeamento do VS para o git, destrói o repositório git, o que não é o que o OP parece estar perguntando. Hacking o registro não é o ideal, mas pelo menos ele tenta resolver o problema real "Eu estou usando um repositório git, mas não quer VS para se envolver"
Rob Levine

Vejo que isso responde à pergunta do OP, mas é a resposta correta? Não tenho certeza. Por favor, veja minhas perguntas na resposta do @ Helix. Obrigado Rob, agradeço sua compreensão.
Cr1pto 04/04

1
O VS2015 apenas restaura essas entradas do registro na próxima vez que a solução for aberta.
Amit G

1
Os desenvolvedores não devem ter medo de editar o Registro do Windows. Especialmente quando é obviamente uma chave do Visual Studio! Excluir o diretório .git não é uma opção para mim.
0xF 01/09

21

Um repositório Git pode ser removido da lista Repositórios Locais do Git no VS-2015 quando não é mais o projeto ativo.

Sua captura de tela tem apenas um repositório presente e está ativo, portanto você não pode removê-lo.

Quando você possui dois ou mais repositórios, um deles será mostrado em BOLD, representando o repositório ativo. Outros repositórios não ativos podem, naquele momento, ser removidos.

Portanto, para resolver seu problema, se você se conectar a um segundo repositório local, poderá remover o que está destacando na captura de tela.

Infelizmente, o Team Explorer parece sempre manter um repositório ativo. Não tenho certeza de como convencê-lo a deixar ir completamente sem mudar para outro repositório.


Mas como você "se conecta" aos outros repositórios? Parece que quando o VS está em um repositório, não permite que você se conecte a outro usando a mesma opção "Adicionar ao controle de Sorce" no menu do Solution Explorer. (NVM excluir o .git e outros arquivos git do dir solução funcionou para mim.)
Gram

@Grama. Em Repositórios Locais do Git (consulte a captura de tela do OP), você pode criar um repositório 'Novo' Git ou 'Clonar' um existente. Se você criar um novo repositório git, forneça um caminho no seu disco rígido local e clique em Criar. Depois disso, ele aparecerá na sua lista. Clique duas vezes no novo repositório e ele será destacado em negrito e nos bastidores se tornará o repositório ativo. Nesse ponto, você pode remover outros repositórios da lista.
Chris C.

Isso é criar um novo repositório local, não conectar um projeto existente a um repositório github existente. Ops, em uma segunda leitura, vejo que a remoção é a única pergunta. Como se conectar ao existente não faz parte da pergunta, meu erro.
Gram

18

A remoção da pasta oculta do .git funcionou para mim.


Isso transformará a pasta de um checkout do git em uma pasta. Certamente, não se deve alterar a finalidade de um diretório de checkout, porque o Visual Studio faz isso ou aquilo.
Cristian Amarie

Super tarde, mas muito obrigado ... Isto tinha de ser um dos mais frustrante e manhãs irritante de toda a minha carreira até agora, o que é uma funcionalidade estúpido que eles construíram para lidar com isso ...
haag1

11

A resposta acima não funcionou para mim. As entradas do registro seriam adicionadas automaticamente automaticamente quando eu abrisse a solução no Visual Studio. Eu encontrei a resolução em um dos links na resposta de Matthews, embora o crédito ainda seja necessário pela resposta correta.

Remover ligação Git da solução Visual Studio 2013?

Remova a .gitpasta oculta na pasta da solução.

Também removi os arquivos .gitattributese .gitignoreapenas para manter minha pasta limpa.


2
Isso não serve para nada se você deseja que o projeto seja gerenciado pelo git, mas não pelo Team Explorer. Pessoalmente, acho que o Team Explorer mexe com meu uso do Git por meio de um plug-in VS diferente, o que é totalmente indesejável.
Henry Wilson

Isso não remove o suplemento git do VS. O VS continua a bater no mato do Git e é agravante.
precisa saber é o seguinte

@IAbstract A pergunta não pede para remover o suplemento git do VS.
Gene S

@ Henry Wilson Não parece que o seu comentário é relevante para a questão. Minha resposta remove a ligação / mapeamento do Visual Studio. Funciona para mim e claramente funciona para os outros.
Gene S

1
É inteiramente relevante para a questão! O OP não indica se ele está usando git para controle de origem ou não, ele apenas quer saber como se livrar da ligação no VS. A exclusão da pasta .git e dos arquivos .gitattributes / .gitignore pressupõe que você não esteja realmente usando o git para controle de origem, o que muitas pessoas podem estar.
Henry Wilson

9

A extensão NoGit simplesmente oculta o problema, desativando o provedor de controle de origem Git sempre que a solução é carregada. Ele faz esse trabalho para todas as soluções carregadas no Visual Studio.

Resolvi abrindo outro projeto e removendo o repositório Git dos Repositórios Locais do Git, como sugeriu Chris C. (Exibir> Team Explorer> Repositórios Locais do Git, selecione o repositório que deve ser removido e clique em Remover). Em seguida, removi a pasta .git do caminho do projeto, conforme sugerido pela helix. Reabrimos o projeto e finalmente a integração com o Git se foi!


Apenas a remoção da pasta .git e alguns arquivos .git da pasta Solutions corrigiram isso para mim. Obrigado a todos!
PTansey

8
  1. Navegue para o diretório do seu projeto
  2. Clique na pasta Menu-> Ferramentas-> Opções da pasta
  3. Selecione a guia Exibir
  4. Selecione Em Arquivo e Pastas, a opção Mostrar arquivos, pastas e unidades ocultas.
  5. Clique em OK
  6. Excluir a .gitpasta
  7. Feche e abra novamente o Visual Studio
  8. Abra seu projeto
  9. Feito. :)

Codificação segura.


1
Não é isso que estamos tentando fazer. Queremos o git, simplesmente não queremos a integração do VS com o git.
Gerry

7

É tão simples,

  1. verifique se você não está conectado ao projeto que deseja excluir

  2. projeto está fechado no Solution Explorer

    Isso é tudo, se você tentar novamente agora, a ação remover será ativada


Obrigado. Este é o mais simples e deve ser selecionado como resposta.
Ronald Ramos

Funciona, se você vir que a opção remover continue desativada, feche e abra novamente o Visual studio. Eu o usei com o VS 2017
freedeveloper

5

Passei algum tempo para remover a integração git do meu projeto do visual studio 2015. sempre que removo o git do visual studio e adiciono o TFS seguindo este - Ferramentas -> opção -> sourceControl -> seleção de plugins -> servidor de base do Visual Studio Team, ele costumava voltar.

Minha solução foi -

tornando a localização física do meu projeto - Mostrar todos os arquivos ocultos. você pode fazer isso exibindo arquivos ocultos e opção de pasta do Windows. então eu percebo, havia uma pasta oculta chamada .git alguma coisa. Eu mantive um backup completo da minha pasta do projeto e também da pasta git qualquer outro backup necessário (eu mantive esse backup, caso as quebras do meu projeto, para que eu possa voltar à condição anterior).

então eu apaguei a pasta .git oculta e quaisquer outros arquivos relacionados .git.

então tento Ferramentas -> opção -> sourceControl -> seleção de plugins -> servidor de base do Visual Studio Team. então eu abro o projeto pelo visual studio - Arquivo -> abrir -> projeto / solução ..

depois disso, notei no Solution Explorer, clicando com o botão direito do mouse na opção namei, consulte a opção "Source control", e também no projeto - clique com o botão direito do mouse em "Add soution to source control". .

Também é bom remover qualquer conexão git do seu explorador de controle de origem .. se houver ..

Portanto, o principal é garantir que não haja nenhum arquivo git oculto no arquivo do projeto e qualquer outra extensão git. espero que isso seja útil para alguém.


2

Além da resposta de Juliano Nunes Silva Oliveira , a maneira mais simples e limpa sem invadir o regedit, removendo pastas .git ocultas ou alterando as configurações do VS15 é conectando-se a um repositório diferente. Quando conectado, você vê o texto do outro repositório em negrito e, em seguida, selecione o repositório local do Git . Agora você vê que o

Remover

O item de menu está ativado para que você possa excluir seu repositório local do Git .

É o mesmo tipo de comportamento ao lidar com Ramos ao usar o Git com o visual studio 2015. Você precisa selecionar um ramo diferente antes de excluir o ramo que deseja excluir.

Para quem precisa de visualização para entender melhor. veja a imagem do link: como é feito

Feliz codificação


1

Ele apenas procura a presença do diretório .git na pasta da solução. Exclua essa pasta, possivelmente oculta, e o Visual Studio não a considerará mais um projeto git.


Isso porque se você o remover, não será mais um projeto git . Você destruiu efetivamente seu controle de versão. Se é isso que você quer fazer, tudo bem.
gliljas

Era exatamente o que eu queria fazer. O Visual Studio decidiu expirar minha licença de 30 dias enquanto eu a adicionava ao controle de origem. Deixei meu projeto em um estado confuso e não consegui seguir a documentação.
precisa saber é o seguinte

1

Conecte-se a um repositório diferente (tentei com um repositório TFS), acesse Gerenciar conexões, clique com o botão direito do mouse no repositório Git e você poderá removê-lo.

Mas você ainda precisa remover manualmente a pasta e os arquivos .git do caminho do projeto antes de abrir a solução novamente.


1

@ Matthew Kraus Clique nas ferramentas da barra de menus, clique em Opções, Encontre o controle de origem, selecione "Nenhum" na lista suspensa e clique em OK. Exclua a pasta .git oculta da pasta do projeto. Abra novamente o seu projeto. insira a descrição da imagem aqui


0

Vá para Control Panel\User Accounts\Credential Managere selecione Windows Credentiale remova a conta do git.



0

Você não pode excluir o repositório git local quando já estiver conectado. então feche a solução, abra outra solução e remova o repositório git local. não se esqueça de excluir a pasta oculta .git funciona para mim

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.