Atualização 2012:
Veja a resposta de Mike Morearty :
Inclui
Você pode incluir um arquivo de configuração de outro, definindo a include.path
variável especial como o nome do arquivo a ser incluído.
O arquivo incluído é expandido imediatamente, como se seu conteúdo tivesse sido encontrado no local da diretiva de inclusão.
Se o valor da include.path
variável for um caminho relativo, o caminho será considerado relativo ao arquivo de configuração no qual a diretiva de inclusão foi encontrada.
O valor de include.path
está sujeito à expansão do til: ~/
é expandido para o valor de $HOME
e ~user/
para o diretório inicial do usuário especificado.
Eu penso que não.
Prefiro colocar essa configuração no ~/.gitconfig
arquivo
Arquivo de configuração específico do usuário. Também chamado de arquivo de configuração "global".
Dessa forma, ele conclui o arquivo específico do projeto .gitconfig, sem ser publicado quando enviado ao GitHub. Consulte também esta resposta do SO para obter mais informações sobre o arquivo de configuração global.
O Git possui 3 arquivos de configuração .
bjeanes acrescenta nos comentários:
parece que todo mundo perdeu o objetivo desta pergunta.
David obviamente quer empurrar-se um repositório de todos os seus arquivos de pontos ( bashrc
, gemrc
, etc.) incluindo o seu .gitconfig
então ele pode ter todos os seus definições em todas as suas máquinas.
Uma maneira de enviar partes de um .gitconfig
arquivo incluindo e ignorando entradas particulares é o que ele (e eu, nesse caso) é o que ele procura.
Uma maneira possível seria usar um driver de filtro smudge / clean para descriptografar / criptografar um arquivo com informações confidenciais confidenciais (consulte este tópico ), para concluir um arquivo local como ~ / .gitconfig com as partes descriptografadas relevantes para o arquivo Arquivo.
Dessa forma, você pode ter um repositório Git com todos os seus arquivos de ponto, além de um arquivo com informações criptografadas que devem ser descriptografadas e adicionadas aos referidos arquivos de ponto.
Em .gitattributes
(ou .git/info/a..
) uso:
myPrivateInfosFile filter=gpg diff=gpg
No seu arquivo repo .config:
[filter "gpg"]
smudge = gpg -d -q --batch --no-tty
clean = gpg -ea -q --batch --no-tty -r C920A124
[diff "gpg"]
textconv = decrypt
(uma solução baseada em GPG significa, é claro, que você comunicou suas chaves públicas / privadas por outra via no computador de destino onde deseja restaurar todos os seus arquivos de ponto clonando este repositório especial)
Na verdade, no seu caso, o script smudge precisa ser concluído, pois deve, após descriptografar esse arquivo, continuar e adicionar partes relevantes ao seu ~/.gitconfig
arquivo global (a menos que você substitua o arquivo de configuração global por outro local ) ou outros arquivos de ponto para esse arquivo. importam.
https://kerneltrap.org/mailarchive/git/2008/3/13/1153274/thread
(os inconvenientes do gpg são discutidos mais adiante neste tópico ) (isso é diferente de ter um repositório completo do Git criptografado, conforme discutido aqui )