Links

Using multiple git user configs with credentials store (multiple github accounts)

Posted on 18 Feb, 2023
So, you have decided to have 2 separate accounts for work and personal. Here are steps to follow to use both git configurations simultaneously with same .git-credentials.

Step 1: Separate Work/Personal directories

Create a work and a personsal directory in your Documents folder. Use these directories to separate your git directories.
Documents
├── work
│ ├── ...
│   └── ...
└── personal
├── ...
   └── ...

Step 2: Separate git config for each account

  • Create .gitconfig-personal in the personal dir.
    [credential]
    helper = store
    [user]
    name = Personal_Username
    [credential "https://github.com"]
    username = Personal_Username
    helper = store
  • Create .gitconfig-work in the work dir.
    [credential]
    helper = store
    [user]
    name = Work_Username
    [credential "https://github.com"]
    username = Work_Username
    helper = store

Step 3: Update global .gitconfig to switch the profile based on directory

  • Update your global config using following command.
    git config --global --edit
  • Add the following config.
    [includeIf "gitdir:~/Documents/work/"]
    path = ~/Documents/work/.gitconfig-work
    [includeIf "gitdir:~/Documents/personal/"]
    path = ~/Documents/personal/.gitconfig-personal

Step 4: Register Access Tokens

That's it, the next time you pull/push/clone a private repo, git will automatically choose the correct token for each config.