Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
January 18, 2022 06:49 pm GMT

Multiple GitHub accounts on one laptop

Imagine the next situation:

  • You have only one laptop
  • You have your personal GitHub account
  • Your employer stores code on GitHub as well
  • You need to commit your personal code to your personal repositories but also work code to the employer`s repositories.
  • You can`t do this from your personal account but do not want to create an additional one (with corporate email)

What to do in this situation? There is a way, how you can configure your laptop to commit to work repositories with work credentials, and to personal one with your personal one.

This solution is based on 2 aspects:

  • correcting SSH config
  • git URL re-writing

The main advantage of this approach is that it doesn't require any additional work to get it right. You will not need to change remote URLs or remember to clone things differently. The second part ( the URL rewriting) will take care of it.

First of all, let's correct our .ssh config. Assuming you have 2 ssh keys, your personal (github_personal) and your work (github_work). How to create ssh keys you can read in the GitHub docs.

~/.ssh/config

Host github.com  HostName github.com  User git  IdentityFile ~/.ssh/github_personal# Work GitHubHost github-work  HostName github.com  User git  IdentityFile ~/.ssh/github_workHost *  AddKeysToAgent yes

Both this configs have same user and domain, but we will take care about it later. Next - global git config.

~/.gitconfig

Here we need to add our default name and email (the one we used in ssh creation for our personal account)

[user]    name = My Name    email = [email protected][includeIf "gitdir:~/path/work_dir/"]    path = ~/path/work_dir/.gitconfig[url "github-work:work-github-org-name/"]    insteadOf = [email protected]:work-github-org-name/

What happens here? First, set our default name and email. Second, we point to use local .gitconfig file for all repositories located by mask ~/path/work_dir/. And the last, replace github.com (default account for Github) with the profile we set under github-work in .ssh/config.

The last part is modification of local .gitconfig for all our working repositories:

~/path/work_dir/.gitconfig
It is easy - just replace your email with your corporate one.

[user]    email = [email protected]

That is all! As long as you keep all your work repos under ~/path/work_dir/ and personal stuff elsewhere, git will use the correct SSH key when doing pulls/clones/pushes to the server, and it will also attach the correct email address to all of your commits.

How to check? Clone repository via SSH, cd to that folder and execute git config --get user.email


Original Link: https://dev.to/osipovsimon/multiple-github-accounts-on-one-laptop-2dmg

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To