Como posso ignorar as pastas bin e obj do repositório git?


111

Eu quero ignorar as pastas bin e obj do meu repositório git. Como descobri, não há maneira fácil de fazer isso em .gitignore. Então, existe alguma outra maneira? Usando uma solução limpa no Visual Studio?


Funciona bem para mim - adiciono as palavras 'bin' e 'obj' como linhas separadas em meu arquivo .gitignore
Tim Robinson

1
E se a solução consiste em muitos projetos, não apenas um?
chester89

Você pode postar exatamente o que você está tentando e o que não está funcionando. obje binem um nível superior .gitignore deve ignorar tudo que for chamado objou binem todos os níveis inferiores.
CB Bailey

2
Meu entendimento é que o conteúdo .gitignore se aplica a todos os subdiretórios, portanto, 'bin' e 'obj' simples funcionam em qualquer lugar. Vou postar meu .gitignore em uma resposta.
Tim Robinson

Respostas:


164

Não sei por que isso não funciona para você. Caso ajude, aqui está um arquivo .gitignore típico de um dos meus projetos Visual Studio / git:

*.suo
*.user
_ReSharper.*
bin
obj
packages

4
Eu também acrescento, packagescomo você pode facilmente baixá-los novamente em NuGet
Michal Ciechan

1
não funciona quando você primeiro confirma todos os arquivos e, em seguida, adiciona o arquivo .gitignore ao seu repo e o confirma. Os arquivos recentemente ignorados ainda serão mostrados como modificados (se você reconstruir, por exemplo).
vlad2135

7
Recentemente, usei o arquivo .gitignore sugerido encontrado aqui: github.com/github/gitignore/blob/master/VisualStudio.gitignore com grande sucesso.
BigTFromAZ de

1
@BigTFromAZ Você deve adicionar isso como uma resposta, é muito melhor do que a aceita!
Avrohom Yisroel

61

simplesmente fazer uma entrada no gitignore pode não ignorar os arquivos, você pode precisar confirmá-lo. Usei o seguinte método e funcionou para mim

git rm -r --cached .

git add .

então

git commit -am "Remove ignored files"

No entanto, isso ignora minha pasta de scripts, que incluí posteriormente no repositório.


Funciona bem. Mas o Vscode não conseguiu encontrar o código modificado. Eu mesmo mudei algo e empurrei para o mestre de origem. Então funcionou. :)
Dentrax

Tenho uma solução com muitos projetos e por algum motivo o git add. nunca termina.
Chucky

Ótimo Arvind !, um desenvolvedor novato fundiu todos os bin / e obj / no nosso branch de trabalho (pulando as políticas ... não sei como!) E esta foi a maneira de remover todos os arquivos do repo.
equintas de

Novato para mim (pelo menos para git), fiz isso comigo mesmo. Nunca pensei em rm e depois adicionar novamente porque não entendia que o git rm só deleta os itens do índice e não do disco. Portanto, se bem entendi, seus dois primeiros comandos reconstruíram o índice, excluindo tudo do índice e adicionando tudo de volta, aplicando os filtros .gitignore. Então o commit faz isso no repositório. Muito esperto.
BigTFromAZ de

Ótimo! Isso funcionou perfeitamente bem para mim. todos .vs, obj, bin e outros arquivos ignorados.
Stanley Okpala Nwosa

9

Se você estiver usando o Visual Studio, há uma maneira simples de fazer isso.

  1. Abra o Team Explorer
  2. Clique em configurações
  3. Configurações de repositório
  4. Na seção Ignorar e atribuir arquivo, clique em Adicionar ao lado de Ignorar arquivo.

Ele criará um arquivo .gitignore padrão, que irá ignorar a maioria das pastas e arquivos comuns usados ​​pela estrutura / linguagem.

insira a descrição da imagem aqui


3
  • Localize as pastas bine objno Windows Explorer
  • Clique com o botão direito em TortoiseGit> Excluir e adicionar à lista de ignorados> bin
  • Clique com o botão direito em TortoiseGit> Excluir e adicionar à lista de ignorados> obj

1
Funciona perfeitamente. obrigado @Denys Wessels
Biswajit Panday

2

Se você deseja ignorar bin e obj em TODOS os seus projetos, você pode usar (da página de manual do gitignore )

Padrões lidos do arquivo especificado pela variável de configuração core.excludesfile.

core.excludesfile pode ser definido em um arquivo de configuração que é ~ / .gitconfig no Unix - não sei onde ele está no Windows


Boas informações, mas ele se referia a todos os seus projetos do Visual Studio nesta solução, não a TODOS os projetos na máquina.
AhHatem

2
Embora muito provavelmente ele nunca estará interessado em comprometer as pastas bine objem QUALQUER solução. :)
MEMark

1

Se você tiver confirmado as pastas bin e obj anteriormente, adicioná-las ao .gitignore não as excluirá automaticamente. Você precisa confirmar a exclusão dessas pastas, por exemplo, git rm -rf objou git rm -rf yourProject/obj então confirmar a exclusão


0

Se você tentar por meio da árvore de código-fonte e ainda assim os arquivos de ignorar não estiverem chegando, vá em ferramentas -> opção-> Git e selecione a localização do .gitignore insira a descrição da imagem aqui


0

No meu caso, as pastas bin e obj foram aninhadas na pasta Project do arquivo raiz .gitignore, então tive que adicioná-lo como a seguir:

[PROJECT_FOLDER_NAME] / bin
[PROJECT_FOLDER_NAME] / obj

Substitua PROJECT_FOLDER_NAME pelo nome da pasta do seu projeto

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.