Skip to content

Instantly share code, notes, and snippets.

@johnnyferreiradev
Forked from kelvinst/local-gitignore.md
Last active March 26, 2024 17:37
Show Gist options
  • Save johnnyferreiradev/9cb0b492affd5777ddd2c6979809e4b3 to your computer and use it in GitHub Desktop.
Save johnnyferreiradev/9cb0b492affd5777ddd2c6979809e4b3 to your computer and use it in GitHub Desktop.
Como fazer um .gitignore local?

Como fazer um .gitignore local?

Bom, este é um recurso, como muitos outros, bem escondido do git. Então resolvi fazer um post para explicar a situação em que pode-se usar e como fazer essa magia negra. 👻

O problema

Você provavelmente já adicionou algum dia um arquivo no projeto que não deveria ser commitado certo? E como você fez para ignorar esse arquivo mesmo? Provavelmente adicionou no arquivo .gitignore.

OK então, aí você commitou esse arquivo .gitignore e pronto, mais ninguém poderá criar um arquivo com o mesmo nome e commitar. Mas espera aí! Não era isso que você queria! Você só queria ignorar esse arquivo na sua máquina, se alguém, algum dia por obséquio achar esse um nome bom para seu arquivo, que assim seja.

Então como fazer isso? Não commitar o arquivo .gitignore e colocar o .gitignore dentro do .gitignore para não commitar ele por quando tiver alteração. Bom, essa opção se você pensar um pouco vai notar porque não funciona: se você disser para o git ignorar o .gitignore, como é que você vai commitar o .gitignore com o .gitignore ignorado (nossa, quanta ignorância 😁).

OK, como posso fazer então?

A solução!

Então, aqui vai uma maneira para você fazer isso. Em todo repositório git existe um arquivo .git/info/exclude. Ele funciona exatamente como um arquivo .gitignore só que ele não é commitado! Então é só colocar uma linha com o nome do seu arquivo nele e 🎉!

Se o arquivo já estiver como tracked, rode o comando:

git update-index --assume-unchanged pasta/nome-arquivo.file

Pronto, assim você consegue ignorar arquivos no seu repositório e só nele, sem passar a configuração para seus coleguinhas!

Espero que tenham gostado da dica. Até a próxima!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment