Posso fazer um arquivo gitignore específico do usuário?

112

Quero mudar o gitignore, mas nem todos na equipe querem essas mudanças. Como um usuário pode ter seu próprio arquivo git ignore específico?

asdsadasds
fonte

Respostas:

93

Para ignorar arquivo específico do usuário e específico do repo, você deve preencher o seguinte arquivo:

$ GIT_DIR / info / exclude

Normalmente $ GIT_DIR significa:

your_repo_path / .git /

Grzuy
fonte
5
Para aqueles confusos sobre o caminho: your_repo/.git/info/exclude. O arquivo é formatado como um arquivo .gitignore padrão .
Stevoisiak
3
Se o seu arquivo já contém alterações não testadas, você pode precisar executar git update-index --skip-worktree [<file>...](de hashrocket.com/blog/posts/… )
Daniel Olivares
118

Você pode criar seu próprio .gitignore usando

git config --global core.excludesfile $HOME/.gitignore

Em seguida, coloque as entradas desejadas nesse arquivo.

Dave Kincaid
fonte
16
Se você não quiser que ele seja global, pode colocar seu .user_gitignorearquivo no .gitdiretório do repo e adicioná-lo comgit config core.excludesfile .git/.user_gitignore
orad
6
Dica profissional de Tim Pope : use ~/.cvsignoreporque utilitários como o rsync também usarão esse arquivo.
Peter Rincker
4
@orad Acho que seu comentário merece ser uma resposta separada.
Stevoisiak
Leve em conta que / sugestão de Dave da Orad irá substituir o padrão de core.excludesfileapontando para seu global para ignorar arquivos ou seja: ~/.gitignore. Se você quiser preservar exclusões globais e também exclusões específicas de repositório, a resposta de @grzuy é o caminho a seguir
sgimeno
1
Eu devo estar esquecendo algo aqui. Eu executei este comando, mas nenhum ~/.gitignorearquivo estava lá, então criei um. Coloquei exatamente uma entrada: knexfile.jse quando volto para o repo e executo git status, ainda o arquivo na lista de alterações.
anon58192932
34

Em seu .gitconfig:

[core]
    excludesfile = ~/.global_gitignore

Dessa forma, eles podem ignorar certos tipos de arquivos globalmente. Cada usuário pode ter seu próprio arquivo global para ignorar.

Rafe Kettler
fonte
1
Você pode acessar o .gitconfigexecutando git config --local -eno repo que desejar
Peter Graham
6

Por exemplo, você deseja ignorar a ~/some/path/.ideapasta:

# 1. Add .idea to user specific gitignore file
echo .idea > ~/.gitignore

# 2. Add gitignore file to gitconfig
git config --global core.excludesfile ~/.gitignore
Sergey Zhigalov
fonte
3

Conforme indicado no tutorial .gitignore da Atlassian , você também pode usar o <repo>/.git/info/excludearquivo repo que pode ser editado facilmente com qualquer editor de texto. Funciona da mesma forma que .gitignore.

Eu poderia facilmente ignorar meus arquivos inteliJ, dockerfiles pessoais e outras coisas com as quais só preciso trabalhar.

obscuro 18
fonte