Skip to content

Easily change between `gitconfig` setups without destroying your old settings

License

Notifications You must be signed in to change notification settings

markbattistella/gitrc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gitrc

easily switch between .gitconfig files

Github2npm npm (scoped) GitHub



Overview

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

Installation

  1. Install the module from npm

    npm i @markbattistella/gitrc -g

Usage

$ 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

Initialisation

Calling gitrc without arguments creates an ~/.gitconfigs/ directory if it doesn't exist, and copies your current ~/.gitconfig as the 'default' .gitconfig profile.

Create a new config file

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.

List available config files

Available .gitconfig files:

 > home
   work-proxy

Switch to a specific .gitconfig

gitrc work-proxy
Activating .gitconfig 'work-proxy'

Delete a specific .gitconfig

gitrc -d work-proxy

Deleting .gitconfig file 'work-proxy'
Current active config is being deleted.
Remember to set a new one before use.

Note For Windows Users

You may have to run gitrc in a shell (cmd, PowerShell, Git Bash, etc) with elevated (Administrative) privileges to get it to run.

License

MIT - a copy is included with the source.

Contact

Awesome People

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)

Contributing

  1. Clone the repo:

    git clone https://github.com/markbattistella/gitrc.git

  2. Create your feature branch:

    git checkout -b my-feature

  3. Commit your changes:

    git commit -am 'Add some feature'

  4. Push to the branch:

    git push origin my-new-feature

  5. Submit the pull request

About

Easily change between `gitconfig` setups without destroying your old settings

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages