I'm in a bit of a bind with Git
. I'm trying to execute git commit
but I need to be able to swtich between ~/.gitconfig1
and ~/.gitconfig2
Is there a command line switch - or anyway to have Git
use a different gitconfig file then the ones found at /etc/gitconfig
, ~/.gitconfig
and .git/config
?
I found a way to execute this - it wasn't elegant but it did work - and so far seems to be the only way to get this to work.
Git uses the HOME
path to determine where .gitconfig
is. I was able to perform something like this:
/home/marco/.silly/.gitconfig
/home/marco/.stupid/.gitconfig
/home/marco/.gitconfig
And when executing Git Commit (which is the only command that requires the .gitconfig
) I override the home path.
HOME=/home/marco/.silly/ git commit -m "silly configuration"
You can then use alias to do this easily
alias sillygit="HOME=/home/marco/.silly/ git"
sillygit commit -m "silly stuff"
Mario Ceppi's alias approach can be used in a slightly more elegant way using the -c config=value
argument to git
:
$ alias sillygit="git -c user.name=Silly -c [email protected]"
$ sillygit commit
This of course assumes you don't mind keeping the differing config keys in your .bashrc
or the like instead of in your .gitconfig
, and it has the caveat of breaking shell completion.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With