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:
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).
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.
Abra o Team Explorer
Clique em configurações
Configurações de repositório
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.
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
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
obj
ebin
em um nível superior .gitignore deve ignorar tudo que for chamadoobj
oubin
em todos os níveis inferiores.Respostas:
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:
fonte
packages
como você pode facilmente baixá-los novamente em NuGetsimplesmente 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
então
No entanto, isso ignora minha pasta de scripts, que incluí posteriormente no repositório.
fonte
Se você estiver usando o Visual Studio, há uma maneira simples de fazer isso.
Ele criará um arquivo .gitignore padrão, que irá ignorar a maioria das pastas e arquivos comuns usados pela estrutura / linguagem.
fonte
bin
eobj
no Windows Explorerfonte
Se você deseja ignorar bin e obj em TODOS os seus projetos, você pode usar (da página de manual do gitignore )
core.excludesfile pode ser definido em um arquivo de configuração que é ~ / .gitconfig no Unix - não sei onde ele está no Windows
fonte
bin
eobj
em QUALQUER solução. :)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 obj
ougit rm -rf yourProject/obj
então confirmar a exclusãofonte
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
fonte
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
fonte