Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ziishaned/git-profile
Utility that helps you switch git configurations with ease.
https://github.com/ziishaned/git-profile
git git-profiles manage profile
Last synced: 4 days ago
JSON representation
Utility that helps you switch git configurations with ease.
- Host: GitHub
- URL: https://github.com/ziishaned/git-profile
- Owner: ziishaned
- License: mit
- Created: 2016-09-15T13:45:28.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-02-19T06:30:45.000Z (almost 6 years ago)
- Last Synced: 2024-10-06T16:18:21.466Z (3 months ago)
- Topics: git, git-profiles, manage, profile
- Language: PHP
- Homepage:
- Size: 85 KB
- Stars: 234
- Watchers: 7
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome - ziishaned/git-profile - Utility that helps you switch git configurations with ease. (PHP)
README
## Preface
It is possible that you have multiple git configurations. For example:
```
; Office Profile
Name: John Doe
Email: [email protected]; Personal Profile
Name: John Doe
Email: [email protected]
```It could be a hassle to remember and switch between the profiles while working on different projects.
This utility aims to make this hassle free.
## Features
- Create and manage profiles globally; create once, use anywhere
- Set profile for a specific project
- Set global profile with a single commandThis utility helps you save profiles and then you can switch between them using a single command.
## Install
```
$ composer global require zeeshan/git-profile
```
Then check your ```$PATH``` variable. It must contain ```~/.composer/vendor/bin``` dir.```
$ echo $PATH/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/home/username/.composer/vendor/bin
```Modify your ```.zshrc``` or ```.bashrc``` files if your ```$PATH``` variable not contain composer/bin dir.
```
export PATH=~/.composer/vendor/bin:$PATH
```#### Also you can use .phar file
* Download the file from [here](https://github.com/ziishaned/git-profile/releases/download/v1.0/git-profile)
* `sudo chmod -R 755 git-profile`
* `sudo mv git-profile /usr/local/bin/git-profile`## Usage
```
$ git-profile [options]
```
*Options*
```
-h, --help Display this help message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
```
*Commands*
```
rm Remove git profile
use Change git profile locally or globally
add Create a new git profile
show Show details for an existing profile
update Update details for an existing profile
current Gets the currently set profile
list List of profiles
```## Examples
Find some of the sample usages below
### Adding Profiles
```
$ git-profile add[+] Enter profile title: Office
[+] Enter Name: John Doe
[+] Enter Email: [email protected]
[+] Enter Signingkey: B7156A83[OK] Profile "Office" saved successfully
```### Remove Git Profile
```
$ git-profile rm "Office"[OK] Profile "Office" successfully removed
```### Show Details for a profile
```
$ git-profile show "Office"[+] Name: John Doe
[+] Email: [email protected]
[+] Signingkey: B7156A83
```### Updating Profile
```
$ git-profile update "Office"[+] Enter Name: Jane Doe
[+] Enter Email: [email protected]
[+] Enter Signingkey: 547ABB1C[OK] Profile "Office" updated successfully
```### Switching Profile
*Setting details locally i.e. set profile for the current project*
```
$ git-profile use "Office"[OK] Switched to "Office"
```*Setting details globally i.e. set global configuration*
```
$ git-profile use "Office" --global[OK] Switched to "Office"
```### Get Current Profile
```
$ git-profile current[+] Current Profile "Office"
[+] Name: John Doe
[+] Email: [email protected]
[+] Signingkey: 547ABB1C
```*Side note* It should be noted that profiles are maintained globally. When you `use` some profile locally, what it does is get the configuration for that profile and sets it for the current project. i.e. when `use` is run locally it is equivalent to
```
$ git config user.name "Name for specified profile"
$ git config user.email "[email protected]"
$ git config user.signingkey "SIGNINGKEY"
```### Profiles List
```
$ git-profile listAvailable profiles:
Github
Home
Office
```## License
MIT © Zeeshan Ahmad