Project

gitswitch

0.02
No release in over 3 years
Low commit activity in last 3 years
Easily switch your git name/e-mail user info -- Handy for work vs. personal and for pair programming
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 3.3.0

Runtime

 Project Readme

gitswitch¶ ↑

Easily set/switch your current git user info for a git repo .git/config or your global ~/.gitconfig file.

This gem should come in handy if you have work and personal repositories. It also might help with switching between users while pair programming.

Would you rather type “git config user.email ‘me@work.com’”, etc. or type “gitswitch switch work”? If you answered the latter, check out this gem.

Install¶ ↑

# gem install gitswitch

Usage¶ ↑

First, establish a default ~/.gitswitch file using the git info you already have in your ~/.gitconfig file

# gitswitch init

Gitswitch users file ~/.gitswitch not found.  Would you like to create one? (y/n): y
Adding your global .gitconfig user info to the "default" tag...
Current git user information:
  Name:   Joe Alba
  E-mail: joe@home.com

Now, add a new git user tag

# gitswitch add

Enter a tag to describe this git user entry: work
E-mail address: jalba@work.com
Name (ENTER to use "Joe Alba"): Joseph M. Alba

Set specific user info to your current git repository by updating .git/config

# gitswitch switch work  # Update .git/config with your 'work' git user info
Switching git user to "work" tag for the current repository (Joseph M. Alba <jalba@work.com>).

# gitswitch switch       # User info from your 'default' tag is used if you don't specify a tag
Switching git user to "default" tag for the current repository (Joe Alba <joe@home.com>).

List all the gitswitch user tags/info you have stored

# gitswitch list

Current git user options --
default:
  Name:   Joe Alba
  E-mail: joe@home.com
work:
  Name:   Joseph M. Alba
  E-mail: jalba@work.com

Update a current entry. [TAG] parameter is optional. If omitted, you’ll see a list.

# gitswitch update [TAG]

Delete a current entry. [TAG] parameter is optional. If omitted, you’ll see a list.

# gitswitch delete [TAG]

Update your global .git user instead of your current repository

# gitswitch switch work --global

Show your current git user info. If you are in a git repo directory, it will show you the info associated with the current repository. Outside a repo (or if you use the –global option), it will show you the info from your global .git config.

# gitswitch info