Want to be able to push code to work and personal projects without needing to switch git users all the time?
The short guide bellow might be for you!
Easy 3 Step Solution
The most straight forward solution for me is to have separate work and personal folders with different .gitconfig files.
Here is a quick 3 step guide.
1. Separate all personal project from work projects
Do:
/home
/personal-projects # Do this /personal-project1
/personal-project2
/work-projects # Do this /work-project1
/work-project2Don’t:
/home
/projects # Don't do that /personal-project1
/personal-project2
/work-project1
/work-project22. Create different .gitconfig files
Inside each of these folders, add a individual .gitconfig file:
/home
/personal-projects
.gitconfig /personal-project1
/personal-project2
/work-projects
.gitconfig /work-project1
/work-project2Edit each .gitconfig file and add the relevant account for that folder:
[user]
email = devimal.planet@work.com
name = Devimal Planet[user]
email = relaxed.devimal@home.com
name = Relaxed Devimal3. Last step: Edit the main .gitconfig file
Edit the global .gitconfig, so it chooses the correct configuration on its own.
On Unix this file can be found at ~/.gitconfig. On Windows: C:\Users<Your user>.gitconfig.
[user] # If local config does not exist, this user is used.
name = Devimal Global
email = devimal@global-configuration.com
[includeIf "gitdir:~/work-projects/"]
path = ~/work-projects/.gitconfig
[includeIf "gitdir:~/personal-projects/"]
path = ~/personal-projects/.gitconfigBonus Tips
Can’t find your config file?
Try this in a terminal window if for some reason you cannot find your .gitconfig file:
git config --list --show-originWindows user?
Use gitdir/i and full path with forward slash:
[includeIf "gitdir/i:C:/Users//Desktop/personal-projects/"]
path = C:/Users//Desktop/personal-projects/.gitconfigNot working?
This will only affect future projects created with git init. Previous projects will remain unchanged.