6 releases
0.0.7 | Jun 6, 2024 |
---|---|
0.0.5 | Jul 13, 2023 |
#1824 in Command line utilities
7KB
64 lines
Git Switch
Switch between Git user configs
Installation
cargo install git-switch
To install git-switch
, use the above command. This assumes you have Rust and Cargo installed on your system.
Usage
- Create a configuration file in the home directory. Run the following command:
touch ~/.git-switch.json
This will create a file named .git-switch.json
in your home directory (~
).
- Open the
.git-switch.json
file in a text editor and add the desired Git configurations. The file should be in JSON format and contain an array of objects. Each object represents a Git host (e.g., GitHub, GitLab) and includes the following properties:"host"
: The hostname of the Git service."username"
: The desired username."email"
: The desired email address.
Here's an example configuration file:
[
{
"host": "github.com",
"username": "ashikmeerankutty",
"email": "ashik9591@gmail.com"
},
{
"host": "gitlab.com",
"username": "ameerankutty",
"email": "ameerankutty@gitlab.com"
}
]
Feel free to add or remove configurations based on your needs.
- To switch the Git configurations, navigate to the desired directory in your terminal and run the following command:
git-switch
This will read the .git-switch.json
file from your home directory and update the Git configurations based on the current directory.
Using ZSH
To automatically change the Git config when the directory changes, follow these steps:
- Open your Zsh configuration file. Run the following command:
code ~/.zshrc
Replace code
with the command for your preferred text editor.
- Add the following code to the
~/.zshrc
file:
# Run git-switch on directory change
git_switch_on_chpwd() {
git-switch
}
# Set up chpwd hook
add-zsh-hook chpwd git_switch_on_chpwd
This code sets up a chpwd
hook, which is executed whenever the current directory changes. It calls git-switch
to update the Git configurations accordingly.
- Save the changes and reload your Zsh configuration:
source ~/.zshrc
Now, whenever you change directories in your terminal, the git-switch
command will automatically be executed to update the Git configurations based on the current directory.
Dependencies
~0.8–11MB
~80K SLoC