Обновление 2012:
См. Майк Морарти ответ :
Включает
Вы можете включить один файл конфигурации из другого, установив специальную переменную include.path
в имя файла, который будет включен.
Включаемый файл раскрывается немедленно, как если бы его содержимое было найдено в месте расположения директивы include.
Если значение переменной include.path
является относительным путем, путь считается относительным к файлу конфигурации, в котором была найдена директива include.
Значение include.path
зависит от расширения тильды: ~/
расширяется до значения $HOME
, а ~user/
- до домашнего каталога указанного пользователя.
Я так не думаю.
Я бы предпочел поместить эту настройку в файл ~/.gitconfig
Пользовательский файл конфигурации. Также называется «глобальным» файлом конфигурации.
Таким образом, он завершает файл, специфичный для проекта .gitconfig, и не публикуется при отправке в GitHub. См. Также этот SO ответ для получения дополнительной информации о глобальном файле конфигурации.
Git имеет 3 файла конфигурации .
bjeanes добавляет в комментариях:
похоже, что все не поняли смысл этого вопроса.
Очевидно, что Дэвид хочет создать репо всех своих точечных файлов (bashrc
, gemrc
и т. Д.), ВКЛЮЧАЯ свой .gitconfig
, чтобы он мог иметь все свои настройки на всех своих машинах.
Способ выдвинуть части файла .gitconfig
, включив и проигнорировав личные записи, - это то, за чем он (и я, если на то пошло) следует.
Возможный способ - использовать драйвер smudge / clean filter для дешифрования / шифрования одного файла с конфиденциальной конфиденциальной информацией (см. this thread ), чтобы завершить локальный файл типа ~ / .gitconfig с расшифрованными частями, которые имеют отношение к этому файлу.
Таким образом, у вас может быть Git-репо со всеми вашими точечными файлами, плюс один файл с зашифрованной информацией, предназначенной для расшифровки и добавления к указанным точечным файлам.
В .gitattributes
(или .git/info/a..
) использование:
myPrivateInfosFile filter=gpg diff=gpg
В вашем репо .config файле:
[filter "gpg"]
smudge = gpg -d -q --batch --no-tty
clean = gpg -ea -q --batch --no-tty -r C920A124
[diff "gpg"]
textconv = decrypt
(решение на основе GPG означает, что вы, конечно, передали свои закрытые / открытые ключи другим способом на конечный компьютер, где вы хотите восстановить все свои точечные файлы путем клонирования этого специального репо)
На самом деле, в вашем случае, сценарий smudge должен быть завершен так, как он должен, после расшифровки этого файла, продолжить и добавить соответствующие части в ваш глобальный файл ~/.gitconfig
(если только вы не перезапишите глобальный файл конфигурации с помощью другое местоположение ) или другие точечные файлы по этому вопросу.
https://kerneltrap.org/mailarchive/git/2008/3/13/1153274/thread
(неудобства gpg обсуждаются далее в этой теме )
(это отличается от использования полного зашифрованного репозитория Git, как обсуждено здесь )