Можно ли включить файл в ваш.gitconfig хранит настройки



Я хотел бы включить файл в мой .gitconfig, который имеет Мои настройки github - это возможно?



могу ли я сделать что-то вроде этого:



[core]
include = /path/to/file
608   4  

4 ответов:

Git (1.7.10+) сейчас поддерживает этот синтаксис .gitconfig:

[include]
    path = /path/to/file

посмотреть здесь для подробного описания изменения git и его крайних случаев.

кстати, пару тонкостей стоит отметить:

  1. расширение переменной среды, например $HOME, не поддерживается. (Расширение ~ появился в Git 1.7.10.2.)

  2. если указан относительный путь, тогда это по отношению к своему .gitconfig файл, который имеет [include] заявление. Это работает правильно даже через цепочку включает -- например ~/.gitconfig может быть:

    [include]
        path = subdir/gitconfig
    

    и subdir/gitconfig может быть:

    [include]
        path = nested_subdir/gitconfig
    

    ... что вызовет subdir/nested_subdir/gitconfig чтобы быть загружен.

  3. если git не может найти целевой файл, он молча игнорирует ошибку. Это, кажется, по дизайну.

обновление 2012:

посмотреть Майк Morearty ' s ответ:

включает в себя

вы можете включить один конфигурационный файл из другого, установив специальный include.path переменная к имени файла, который будет включен.
Включенный файл немедленно расширяется, как если бы его содержимое было найдено в расположении директивы include.
Если значение include.path переменная a относительный путь, путь считается относительно файла конфигурации, в котором была найдена директива include.
Значение include.path подлежит расширению Тильды:~/ увеличивается до значения $HOME и ~user/ в домашний каталог указанного пользователя.


я так не думаю.

я бы предпочел поместить эту настройку в ~/.gitconfig file

пользовательский конфигурационный файл. Также называется "глобальный" файл конфигурации.

таким образом, он завершает.проект-конкретные gitconfig хранит настройки файл, не будучи опубликованы, когда толкнул на GitHub. Смотрите также это так что ответ для получения дополнительной информации о глобальном файле конфигурации.
ГИТ имеет 3 конфигурационные файлы.


bjeanes добавляет в комментарии:

похоже, что все пропустили суть этого вопроса.
Дэвид очевидно, хочет поднять РЕПО всех своих точечных файлов (bashrc,gemrc и т. д.) В том числе и его .gitconfig таким образом, он может иметь все свои настройки на всех своих машинах.
Способ толкать части a .gitconfig файл путем включения и игнорирования частных записей - это то, что он (и я, если на то пошло) после.

возможным способом было бы использовать smudge / clean filter driver для расшифровки / шифрования одного файла с конфиденциальной конфиденциальной информацией (см. этот нить), чтобы завершить локальный файл, как ~/.gitconfig с расшифрованными частями, которые имеют отношение к этому файлу.

таким образом, вы можете иметь git РЕПО со всеми вашими точечными файлами, а также один файл с зашифрованной информацией, предназначенной для расшифровки и добавления к указанным точечным файлам.

alt text

на .gitattributes (или .git/info/a..) использование:

myPrivateInfosFile filter=gpg diff=gpg

в свой РЕПО .конфигурационный файл:

[filter "gpg"]
smudge = gpg -d -q --batch --no-tty
clean = gpg -ea -q --batch --no-tty -r C920A124
[diff "gpg"]
textconv = decrypt

(a GPG-based решение означает, конечно, что вы передали свои личные / открытые ключи другим способом на конечный компьютер, где вы хотите восстановить все свои файлы dot, клонируя это специальное РЕПО)

на самом деле, в вашем случае сценарий smudge должен быть завершен, как он должен, после расшифровки этого файла, продолжайте и добавляйте соответствующие части в свой глобальный (если вы перезаписываете файл глобальной конфигурации с другим местоположением) или другие точечные файлы для этого вопрос.

https://kerneltrap.org/mailarchive/git/2008/3/13/1153274/thread (неудобства gpg обсуждаются далее в этой теме) (это отличается от полного инкритпированного РЕПО Git, как здесь обсуждается)

вы можете загрузить его из командной строки:

$ git config --local include.path "/path/to/.gitconfig"

использовать "$PWD"/.gitconfig вместо этого, если вы хотите загрузить файл из текущего каталога.

после выполнения выше команды, следующие строки добавляются в ваш .git/config file:

[include]
        path = /path/to/.gitconfig

Я верю, что вы можете сделать это с помощью инструмент концентратора defunkt. Это оболочка для команды git, которая среди прочего позволяет вам иметь GITHUB_USER и GITHUB_TOKEN переменные среды. Который будет переопределять настройки в локальном .

затем, чтобы сделать его бесшовным пользователь, которого вы указали на псевдоним alias git=hub в своем zsh config. Затем вы должны иметь возможность создать локальный файл, в котором вы устанавливаете переменные среды и нажимаете репозиторий для публичного мира со всей вашей личной информацией в такт.

**примечание для доморощенных пользователей на OSX, вы можете установить инструмент через brew install hub.

Comments

    Ничего не найдено.