Я использую фильтры для искажения файлов во время оформления заказа, как описано здесь . Теперь проблема в том, что определение фильтра хранится только в моем локальном файле конфигурации:
$ cat .git/config
....
[filter "dater"]
smudge = /home/.../expand_date
clean = perl -pe \"s/\\\\\\$Date[^\\\\\\$]*\\\\\\$/\\\\\\$Date\\\\\\$/\"
Если мои коллеги хотят воспользоваться этим Date
расширением, им нужно скопировать определение моего фильтра. И если я изменю это, я должен уведомить их, и т.д ..
Так можно ли сохранить эту часть определения фильтра .git/config
в репозитории и заставить ее использовать git?
Ответы:
Есть 3 Поддерживаемые объемы
.gitconfig
файла:--system, --global, --local
. Вы также можете создать собственный файл конфигурации и включить его в один из поддерживаемых файлов.Для ваших нужд обычай - это правильный выбор. Вместо того, чтобы записывать свой фильтр,
.git/config
вы должны сохранить его в.gitconfig
файле в корне вашего хранилища:Создайте
.gitconfig
свой фильтр и зафиксируйте изменения. Тогда ваши коллеги всегда будут обновлять его, но им придется включать его вручную. Невозможно автоматически включить ваш пользовательский файл конфигурации через git, потому что это создает уязвимость безопасности.Чтобы применить эту конфигурацию к одному репозиторию, каждому пользователю необходимо выполнить следующую команду
your-repo/
:Будьте осторожны, чтобы не хранить личные данные в обычае
.gitconfig
, напримерuser.*
, хранить их в своем глобальном.gitconfig
.источник
.gitconfig
в его~/.gitconfig
. Никто не будет помнить это. Есть ли способ заставить git ВСЕГДА читать репо.gitconfig
.configure
скрипта или чего-то похожего, что пользователи должны запускать, вы можете установить включение (или предложить пользователю).--file
опцияgit config
, вы можете затем установить ее на репо.gitconfig
. Я еще не проверял, но, кажется, отвечает на ваш вопрос. Вы можете прочитать это на документах. git-scm.com/docs/git-config#FILESВы не можете использовать
.gitconfig
файл в репозитории git по умолчанию, но вы можете связать его с версией git config.Вы можете сделать ссылку на это так:
Я создал простой скрипт
gitconfig.sh
который делает это для вас (гораздо быстрее, чем копировать) + простой.gitconfig
файл, так что если вы хотите, посмотрите на этот репозиторий https://github.com/HoBi/dotfiles .РЕДАКТИРОВАТЬ : я удалил файл, но вы можете найти его здесь https://github.com/tenhobi/dotfiles/blob/7e4376c006c508370b82bc7bd37173fab51dbd01/git/.gitconfig.sh
источник
~/
папке. И у всех могут быть разные потребности, так зачем всем беспокоиться о своем конфиге в git repo. :-)