Respostas:
.gitkeep não está documentado, porque não é um recurso do Git.
O Git não pode adicionar um diretório completamente vazio . As pessoas que desejam rastrear diretórios vazios no Git criaram a convenção de colocar arquivos chamados .gitkeepnesses diretórios. O arquivo pode ser chamado de qualquer coisa; Git não atribui nenhum significado especial a esse nome.
Existe uma convenção concorrente de adicionar um .gitignorearquivo aos diretórios vazios para controlá-los, mas algumas pessoas acham isso confuso, pois o objetivo é manter os diretórios vazios, não ignorá-los; .gitignoretambém é usado para listar arquivos que devem ser ignorados pelo Git ao procurar arquivos não rastreados.
.gitignorearquivo com duas linhas: *e !.gitignoreé mais que suficiente clareza para transmitir o que está acontecendo. Se for necessária mais elaboração, adicione um comentário na parte superior do arquivo usando a # sintaxe.
.keeparquivos em vez de .gitkeeppreservar essas pastas vazias, pois o git não é o único sistema de controle de origem que não rastreia pastas vazias. Mais detalhes aqui: github.com/rails/rails/issues/2800
.gitkeepé apenas um espaço reservado. Como um arquivo fictício, o Git não esquecerá o diretório, pois o Git rastreia apenas os arquivos.
Se você deseja um diretório vazio e verifique se ele fica 'limpo' para o Git, crie um .gitignorecontendo as seguintes linhas:
# .gitignore sample
###################
# Ignore all files in this dir...
*
# ... except for this one.
!.gitignore
Se você deseja ter apenas um tipo de arquivo visível para o Git, aqui está um exemplo de como filtrar tudo, exceto .gitignore e todos os .txtarquivos:
# .gitignore to keep just .txt files
###################################
# Filter everything...
*
# ... except the .gitignore...
!.gitignore
# ... and all text files.
!*.txt
('#' indica comentários.)
!na frente .gitignore? Isso é para escapar do ponto?
!nega a parte a seguir, como geralmente acontece na programação.
!.gitignoreinserir um arquivo git ignore, adicionar o arquivo e editá-lo ou forçar a adição com o conteúdo apropriado ("*" para ignorar tudo ou nada para simplesmente garantir que a pasta exista) exemplo adicional .
Since the git ignore file is already in the repo it is not necessary to not-ignore it - it is already tracked.------ Se não estiver, e você não fizer um complemento forte, poderá se esquecer. Em casos triviais, não há problema, mas se for um arquivo maior, você poderá ficar chateado. O uso !.gitignoreevita que você atire no seu pé. Eu prefiro, tendo me queimado no passado.
.gitignore
é um arquivo de texto que compreende uma lista de arquivos em seu diretório que o git ignorará ou não adicionará / atualizará no repositório.
.gitkeep
Como o Git remove ou não adiciona diretórios vazios a um repositório, o .gitkeep é uma espécie de hack (não acho que seja oficialmente nomeado como parte do Git) para manter os diretórios vazios no repositório.
Basta fazer um touch /path/to/emptydirectory/.gitkeeppara adicionar o arquivo, e o Git agora poderá manter esse diretório no repositório.
.gitignores quiser, se não desejar especificar o caminho completo para todas as pastas todas as vezes.
.gitkeeparquivo, mas ele não rastreará os diretórios vazios. Somente a pasta rastreará onde o .gitkeeparquivo existe. Por quê então ?
.gitignores evita que você especifique o caminho completo para todas as pastas todas as vezes? Acho que estou perdendo algo óbvio.
READMEarquivo no subdiretório vazio que contém um pouco de informações sobre para que esse subdiretório será usado? Parece confuso ter um arquivo chamado.gitkeepque não faz parte do git.