Meus primeiros testes com repositórios git aninhados não sofreram nenhum desses três problemas. Você não precisa adicionar .git
em gitignore
; o conteúdo de todos os diretórios .git
é ignorado automaticamente.
Os outros arquivos (por exemplo, no mesmo diretório que .git
) podem ser confirmados no repositório externo.
Então eu achei que o etckeeper poderia manter o rastreamento de todos os arquivos, enquanto os subdiretórios poderiam ter seu histórico gravado com mais cuidado em repositórios específicos. As duas histórias não sabem nada sobre o outro.
Eu só notei um problema mais tarde. Quando eu enviei um diretório que é um repositório git e contém commits em si, e eu ainda não havia comprometido arquivos daquele diretório no repositório externo, então ele aparece como um %código%. O conteúdo é representado apenas por um ID de confirmação. Subproject
parece mostrar isso como gitk
.
Isso soa como o git realmente quer reconhecê-los como Submodule
. Eu particularmente não entendo git-submodule
, só sei que ele tem uma reputação de ser um pouco confuso.
Eu também notei que o arquivo git-submodule
está cheio de arquivos dos diretórios .etckeeper
, mesmo se o git estiver usando submódulos.