If you (like me) need to travel between home and the office that have different network settings you'll know how annoying setting and unsetting config settings can be - especially if you try and push and it fails.
It works really great if one .gitconfig
needs a proxy, and the other doesn't.
Major credit to @deoxxa/npmrc for inspiration and setting a blueprint
-
Install the module from
npm
npm i @markbattistella/gitrc -g
$ gitrc -h
Usage:
gitrc List all profiles
gitrc [name] Switch to profile
gitrc -n [name] Create a new profile
gitrc -d [name] Delete the profile
gitrc -h Display this screen
Calling gitrc
without arguments creates an ~/.gitconfigs/
directory if it doesn't exist, and copies your current ~/.gitconfig
as the 'default' .gitconfig profile.
gitrc -n configname
A blank config will be created where you can have custom settings for your .gitconfig
git config --global user.name "Mark Battistella"
git config --global user.email [email protected]
You can then add whatever other configuration settings you need. Please refer to the manual for help.
Available .gitconfig files:
> home
work-proxy
gitrc work-proxy
Activating .gitconfig 'work-proxy'
gitrc -d work-proxy
Deleting .gitconfig file 'work-proxy'
Current active config is being deleted.
Remember to set a new one before use.
You may have to run gitrc
in a shell (cmd, PowerShell, Git Bash, etc) with
elevated (Administrative) privileges to get it to run.
MIT - a copy is included with the source.
- GitHub (markbattistella)
- Twitter (@markbattistella)
Again I want to thank:
- Conrad (github) - author of npmrc
And all the people that helped on that project:
- Jaime "the binary wizard" Pillora (github)
- Tim "two hands" Oxley (github)
- Jakob "fastest blur in the west" Krigovsky (github)
- Rod "the destroyer" Vagg (github)
- Eugene "ludicrous gibs" Asiedu (github)
-
Clone the repo:
git clone https://github.com/markbattistella/gitrc.git
-
Create your feature branch:
git checkout -b my-feature
-
Commit your changes:
git commit -am 'Add some feature'
-
Push
to the branch:git push origin my-new-feature
-
Submit the
pull
request