O arquivo .gitignore é uma parte crucial de qualquer repositório Git; evita que arquivos indesejados sejam rastreados e compartilhados no controle de origem. Normalmente, você deseja ignorar certos arquivos e pastas, mas às vezes é mais fácil fazer o contrário.

Publicidade

Usando .gitignore como uma lista de permissões

O uso regular de .gitignore é simples – dê a ele um nome de arquivo ou um caractere curinga correspondente, e esse arquivo será bloqueado. Quando você o usa como uma lista de permissões, porém, torna-se um pouco mais complicado.

Primeiro, você precisará das duas diretivas a seguir na parte superior do arquivo, que bloqueiam tudo por padrão com um caractere curinga abrangente *:

*
!*/

A segunda linha é necessária porque a lista de permissões não é tão simples quanto bloquear. Por causa da forma como o Git lida com esses arquivos, se ele vir um diretório bloqueado, ele nem mesmo Experimente para verificar qualquer coisa no diretório para ver se foi desbloqueado posteriormente. Ele simplesmente o pula e ignora todas as regras dentro desse diretório.

Publicidade

Portanto, a segunda linha aqui diz ao Git para verificar especificamente as subpastas. O ponto de exclamação ! é usado para transformar a regra em uma lista de permissões. Ele corresponde a todos os diretórios, mas como não corresponde a nada dentro desses diretórios, o Git não rastreará nenhum arquivo ainda apenas com essas duas linhas.

Isso permite configurações como as seguintes:

*
!*/

# track this file
!.gitignore

# whitelist everything in ./config/
!config/

o .gitignore o arquivo em si está no diretório principal, portanto, pode apenas ser colocado na lista de permissões normalmente. A lista de permissões de diretórios simplesmente requer uma barra final, e o Git retornará ao normal naquele diretório, substituindo o curinga de bloqueio anterior.

Se você quiser permitir explicitamente um diretório e todo o seu conteúdo, você deve usar o curinga duplo, !config/**. Um único curinga não se propagaria em subdiretórios recursivamente. Isso substituirá todas as outras regras de bloqueio.

Publicidade

Debugging .gitignore

Se estiver tendo problemas com sua configuração, você pode depurá-la com o check-ignore Comando Git:

Publicidade
git check-ignore -v testfile.json