Jose Jimenez
Jose Jimenez
Software Architect & Developer
> >

How to Manage Multiple GitHub Accounts and Ensure Proper Credentials for Each Repository

Published in Git on Feb 14, 2024

Managing multiple GitHub accounts can be challenging, especially when you want to ensure that the proper repository uses the right credentials. In this article, we will explore the steps to configure your local Git settings and SSH keys to achieve this.

Step 1: Configure your local Git settings

To start, open a terminal or command prompt and set your global username and email for Git. Use the following commands:

1git config --global user.name "Your GitHub username"
2git config --global user.email "Your GitHub email address"

Step 2: Clone the repository you want to work with

Navigate to the desired directory in your terminal or command prompt and clone the repository using the git clone command. This will create a local copy of the repository on your machine.

Step 3: Change to the repository's directory

Use the cd command to navigate to the cloned repository's directory.

Step 4: Configure your local Git settings for the specific repository

To ensure that the correct credentials are used for this repository, configure your local Git settings. Run the following commands:

1git config user.name "Your GitHub username"
2git config user.email "Your GitHub email address"

Step 5: Generate and configure multiple SSH key pairs

To use different SSH keys for different GitHub accounts, you need to generate and configure multiple key pairs. Follow these steps:

  1. Generate a new SSH key pair using the ssh-keygen command. Specify a unique name for each key pair, and optionally set a passphrase.
  2. Copy the public key (<key_filename>.pub) for each key pair.
  3. Log in to the respective GitHub account(s), go to "Settings", and navigate to "SSH and GPG keys".
  4. Click on "New SSH key", paste the copied public key, and save the SSH key.

Step 6: Configure your SSH config file

To associate each SSH key with the correct GitHub account, you need to configure your SSH config file. Here's how:

  1. Open the SSH config file using a text editor.
  2. Add the necessary configurations for each SSH key pair, specifying the appropriate Host, HostName, User, and IdentityFile values.

Step 7: Update the repository's remote URL

To ensure that the repository uses the correct credentials, update the remote URL for the repository. Use the following commands:

1git remote set-url origin git@github.com-personal:<username>/<repository_name>.git
2git remote set-url origin git@github.com-work:<username>/<repository_name>.git

Replace <username> with your GitHub username and <repository_name> with the name of the repository.

Conclusion

Managing multiple GitHub accounts and repositories with the correct credentials is essential for a smooth development workflow. By configuring your local Git settings, generating and configuring multiple SSH key pairs, and updating the remote URLs, you can ensure that each repository uses the right credentials. Enabling this setup will make it easier to work with multiple GitHub accounts simultaneously and avoid any confusion with credentials.

Remember to follow these steps whenever you need to work on a different repository within a specific GitHub account.