Aktualizacja 2012:
Zobacz Mike'a Morearty „s odpowiedź :
Obejmuje
Możesz dołączyć jeden plik konfiguracyjny z drugiego, ustawiając specjalną include.pathzmienną na nazwę pliku, który ma być dołączony.
Dołączony plik jest natychmiast rozwijany, tak jakby jego zawartość została znaleziona w miejscu dyrektywy włączającej.
Jeśli wartość include.pathzmiennej jest ścieżką względną, ścieżkę uważa się za względną do pliku konfiguracyjnego, w którym znaleziono dyrektywę dołączającą.
Wartość include.pathpodlega rozszerzeniu tyldy: ~/jest rozwijana do wartości $HOMEi ~user/do katalogu domowego określonego użytkownika.
Nie sądzę.
Wolę umieścić to ustawienie w ~/.gitconfigpliku
Plik konfiguracyjny specyficzny dla użytkownika. Nazywany także „konfiguracją globalną”.
W ten sposób uzupełnia plik specyficzny dla projektu .gitconfig, bez publikowania po przekazaniu do GitHub. Zobacz także tę odpowiedź SO, aby uzyskać więcej informacji o globalnym pliku konfiguracyjnym.
Git ma 3 pliki konfiguracyjne .
bjeanes dodaje w komentarzach:
wygląda na to, że wszyscy nie rozumieli sedna tego pytania.
David oczywiście chce push up repo wszystkich jego plików (dot bashrc, gemrcitp), w tym jego .gitconfigwięc on może mieć wszystkich swoich ustawień na wszystkich swoich maszynach.
Sposobem na wypychanie części .gitconfigpliku poprzez dołączanie i ignorowanie prywatnych wpisów jest to, czego on (i ja, jeśli o to chodzi).
Możliwym sposobem byłoby użycie sterownika rozmazywania / czyszczenia filtra do odszyfrowywania / szyfrowania jednego pliku za pomocą poufnych informacji (patrz ten wątek ), aby uzupełnić plik lokalny taki jak ~ / .gitconfig z odszyfrowanymi częściami, które są do tego odpowiednie plik.
W ten sposób możesz mieć repozytorium Git ze wszystkimi plikami kropek oraz jeden plik z zaszyfrowanymi informacjami przeznaczonymi do odszyfrowania i dodania do wspomnianych plików kropek.

W .gitattributes(lub .git/info/a..) użyciu:
myPrivateInfosFile filter=gpg diff=gpg
W pliku .config repo:
[filter "gpg"]
smudge = gpg -d -q --batch --no-tty
clean = gpg -ea -q --batch --no-tty -r C920A124
[diff "gpg"]
textconv = decrypt
( rozwiązanie oparte na GPG oznacza oczywiście, że przesłałeś swoje klucze prywatne / publiczne w inny sposób na komputer docelowy, na którym chcesz przywrócić wszystkie pliki kropek poprzez klonowanie tego specjalnego repozytorium)
W twoim przypadku skrypt smudge musi zostać wypełniony, ponieważ po odszyfrowaniu tego pliku kontynuuj dodawanie odpowiednich części do ~/.gitconfigpliku globalnego (chyba że zastąpisz globalny plik konfiguracyjny inną lokalizacją ) lub inne pliki kropek. materia.
https://kerneltrap.org/mailarchive/git/2008/3/13/1153274/thread
(niedogodności związane z gpg są omówione w dalszej części tego wątku ) (różni się to od posiadania pełnego szyfrowanego repozytorium Git, jak omówiono tutaj )