# git-profile **Repository Path**: mirrors_ziishaned/git-profile ## Basic Information - **Project Name**: git-profile - **Description**: Utility that helps you switch git configurations with ease. - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-01-10 - **Last Updated**: 2025-10-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

git-profile

Utility that helps you switch git configurations with ease

Build Status Latest Version Software License

## Preface It is possible that you have multiple git configurations. For example: ``` ; Office Profile Name: John Doe Email: johndoe@office.com ; Personal Profile Name: John Doe Email: johndoe@gmail.com ``` 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 command This 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: johndoe@office.com [+] 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: johndoe@office.com [+] Signingkey: B7156A83 ``` ### Updating Profile ``` $ git-profile update "Office" [+] Enter Name: Jane Doe [+] Enter Email: janedoe@gmail.com [+] 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: johndoe@gmail.com [+] 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-for-specified@profile.com" $ git config user.signingkey "SIGNINGKEY" ``` ### Profiles List ``` $ git-profile list Available profiles: Github Home Office ``` ## License MIT © Zeeshan Ahmad