Code Quality Rank: L5
Programming language: PHP
License: MIT License
Tags: Miscellaneous     Config     Git     Utility    
Latest version: v2.1.1

git-profile alternatives and similar libraries

Based on the "Miscellaneous" category.
Alternatively, view git-profile alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of git-profile or a related project?

Add another 'Miscellaneous' Library


git-profile Utility that helps you switch git configurations with ease


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.


  • Create and manage profiles globally; create once, use anywhere
  • Set profile for a specific project
  • Set global profile with a single command

This utility helps you save profiles and then you can switch between them using a single command.


$ composer global require zeeshan/git-profile

Then check your $PATH variable. It must contain ~/.composer/vendor/bin dir.

$ echo $PATH


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
  • sudo chmod -R 755 git-profile
  • sudo mv git-profile /usr/local/bin/git-profile


$ git-profile [options] <command>


-h, --help              Display this help message
-V, --version           Display this application version
--ansi                  Force ANSI output
--no-ansi               Disable ANSI output


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


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 list

Available profiles:


MIT © Zeeshan Ahmad

*Note that all licence references and agreements mentioned in the git-profile README section above are relevant to that project's source code only.