Как я могу указать собственный глобальный путь к gitconfig? - PullRequest
10 голосов
/ 29 августа 2010

Я немного привязан к Git.Я пытаюсь выполнить git commit, но мне нужно иметь возможность переключаться между ~/.gitconfig1 и ~/.gitconfig2. Есть ли переключатель командной строки - или в любом случае, чтобы Git использовал другой файл gitconfig, отличный от найденных в /etc/gitconfig, ~/.gitconfig и .git/config?

Ответы [ 4 ]

15 голосов
/ 29 августа 2010

Я нашел способ выполнить это - он не был элегантным, но он работал - и до сих пор, кажется, единственный способ заставить это работать.

Git использует путь HOME, чтобы определить, где находится .gitconfig. Я смог выполнить что-то вроде этого:

/home/marco/.silly/.gitconfig
/home/marco/.stupid/.gitconfig
/home/marco/.gitconfig

И при выполнении Git Commit (единственной команды, требующей .gitconfig) я отверг домашний путь.

HOME=/home/marco/.silly/ git commit -m "silly configuration"

Затем вы можете использовать псевдоним, чтобы сделать это легко

alias sillygit="HOME=/home/marco/.silly/ git"
sillygit commit -m "silly stuff"
4 голосов
/ 20 октября 2017

Подход псевдонима Марио Чеппи можно использовать несколько более элегантно, используя аргумент -c config=value для git:

$ alias sillygit="git -c user.name=Silly -c user.email=silly@silly.org"
$ sillygit commit

Это, конечно, предполагает, что вы не возражаете против сохранения различных конфигурационных ключей в вашем .bashrc или аналогичном, а не в .gitconfig, и у него есть предостережение о нарушении завершения оболочки.

0 голосов
/ 19 апреля 2012

Вы можете использовать --git-dir

git --git-dir /home/marco/silly/.git commit ...
0 голосов
/ 29 августа 2010

man git-config говорит мне использовать флаг -f для передачи файла конфигурации.Однако, похоже, он не работает с другими командами, кроме git config, поэтому я думаю, что вы должны вызывать его перед фиксацией, это легко сделать с помощью псевдонима.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...