Meus programas geralmente geram grandes arquivos de saída (~ 1 GB) que eu não quero fazer backup no repositório git. Então, ao invés de poder fazer
git add .
Eu tenho que fazer algo como
git add *.c *.cc *.f *.F *.C *.h *.cu
que é um pouco complicado ...
Sinto-me bastante confiante de que poderia escrever um script perl quicky no conteúdo do diretório em .gitignore e, em seguida, remover arquivos com base em um arquivo .gitinclude (ou algum nome semelhante), mas isso parece um pouco tolo. Existe uma maneira melhor?
crie um arquivo .gitignore no seu repositório e você deseja rastrear apenas os arquivos c e ignorar todos os outros arquivos e, em seguida, adicione as seguintes linhas a ele ....
'*' ignorará todos os arquivos
e! negará que os arquivos sejam ignorados .... então, aqui estamos pedindo ao git para não ignorar os arquivos c ....
fonte
.*
de arquivos ocultos?*
é um curinga.
, portanto, os arquivos ocultos também são ignorados, mas todos os arquivos ocultos que terminam em.c
são incluídos.*
seguido por!.bash*
no arquivo .gitignore*.*
nas janelas - veja a resposta por @Smaranjit Maiticrie um
.gitignore
arquivo no repositórioroot
e, se você quiser incluir apenas um.c
arquivo, precisará adicionar as linhas abaixo ao.gitignore
arquivoisso incluirá todos os
.c
arquivos do diretório e subdiretório recursivamente.usando
não funcionará em todas as versões do git.
fonte
*
e tive que usar*.*
. Esta é no Windows usando gitbash e versão git 2.9.0.windows.1Se você precisar ignorar arquivos, mas não um arquivo específico dentro de um diretório, aqui está como eu fiz isso:
fonte
Tarde para a festa, mas minha solução seria ter um diretório para arquivos de origem e um diretório diferente para executáveis e saída do programa, algo como isto:
... e adicione apenas o material
src/
ao meu repositório e ignorebin/
completamente.fonte