# Using multiple git profiles
Last edited: 2023-11-11
# Issue
I am using a laptop where I have my personal repositories and some work ones. I would like to commit to these using different profiles and secure them using different SSH keys .
# Assumptions
I will assume you are:
- using a linux system.
- Have generated different SSH keys
for each profile:
~/.ssh/personal-key~/.ssh/work-key - Your repositories are on GitHub
, though you can change the link from GitHub
(
github.com) to another repository host.
# Solution
\1. Add hosts to your ~/.ssh/config file such as:
Host work-github
HostName github.com
User git
IdentityFile ~/.ssh/work-key
IdentitiesOnly yes
Host personal-github
HostName github.com
User git
IdentityFile ~/.ssh/personal-key
IdentitiesOnly yes
For later steps, “work” and “personal” will be referred to as <account>.
2a. Change the remote host for an existing repository:
cd /path/to/your/repo
git remote set-url origin <account>-github:/remote/path/of/repo.git
2b. Clone a repository using the new host:
cd /path/to/the/folder/for/repositories
git clone <account>-github:/remote/path/of/repo.git
\3. Set the user details for the repository:
git config user.name "Your Name"
git config user.email "[email protected]"