Som utviklere må vi normalt sjonglere rundt flere GitHub-kontoer på samme maskin. For eksempel har vi vår egen personlige GitHub-konto for vårt eget prosjekt og deretter en annen GitHub-konto som vi bruker til vårt klientprosjekt.
Denne artikkelen gir trinnvise instruksjoner om hvordan du konfigurerer og jobber med flere GitHub-kontoer på samme maskin.
I dette scenariet vil vi opprette to forskjellige GitHub-kontoer på samme maskin og deretter bytte mellom de to.
Først må vi lage våre private / offentlige SSH-nøkler for våre personlig regnskap.
Vi kan gjøre dette ved å utføre følgende kommando i en terminal:
$ ssh-keygen -t rsa -C 'email@gmail.com' -f 'id_rsa_personal'
Ovennevnte e-postadresse er den du bruker for å logge på din personlige GitHub-konto.
Når du blir bedt om stedet for å lagre tastene, godtar du standardplasseringen ved å trykke på Enter. Et privat / offentlig nøkkelpar opprettes på standard ssh-plassering ~/.ssh/
.
Våre personlige SSH-nøkler er:
~/.ssh/id_rsa_personal.pub
og ~/.ssh/id_rsa_personal
Deretter oppretter vi våre private / offentlige SSH-nøkler for våre klient regnskap:
$ ssh-keygen -t rsa -C 'email@company.com' -f 'id_rsa_company'
Ovennevnte e-postadresse er den du bruker til å logge på GitHub-kontoen din.
Ovennevnte kommando oppretter SSH-nøklene til klienten lokalisert i ~/.ssh/
.
Våre klient SSH-nøkler er:
~/.ssh/id_rsa_company.pub
og ~/.ssh/id_rsa_company
Logg på din personlige GitHub-konto og legg til id_rsa_personal.pub
personlig offentlig nøkkel.
Deretter logger du på GitHub-kontoen din og legger til deg id_rsa_company.pub
klientens offentlige nøkkel.
Hvis du ikke er sikker på hvordan du gjør dette, kan du lese installer Git og generer SSH-nøkler .
SSH-konfigurasjonsfilen ligger i ~/.ssh/
. Hvis du ikke ser en konfigurasjonsfil, kan du opprette en:
$ cd ~/.ssh/ $ touch config
// Creates the file if not exists $ nano config
// Opens the file for editing
Legg til dine forskjellige GitHub-profiler i SSH-konfigurasjonsfilen:
# Personal account Host github.com-personal HostName github.com User git IdentityFile ~/.ssh/id_rsa_personal # Company account-1 Host github.com-company HostName github.com User git IdentityFile ~/.ssh/id_rsa_company
Start ssh-agent ved å kjøre eval '$(ssh-agent -s)'
.
Deretter legger du til SSH-nøklene i ssh-agenten:
ssh-add ~/.ssh/id_rsa_personal ssh-add ~/.ssh/id_rsa_company
Dette vil registrere SSH-nøklene dine med ssh-agenten på maskinen.
Nå som vi har opprettet SSH-nøklene for personlig og selskap og registrert dem hos ssh-agent, kan vi nå enkelt bytte mellom de to GitHub-kontoene på samme maskin.
Vi må sørge for at vi bare har den respektive SSH-nøkkelen lagt til i ssh-agenten om gangen.
For eksempel, hvis vi jobber med vårt personlige prosjekt, gjør vi:
$ ssh-add -D
//removes all ssh entries from the ssh-agent $ ssh-add ~/.ssh/id_rsa_personal
// Adds the personal ssh key
På samme måte, hvis vi jobber med klientprosjektet vårt, gjør vi:
$ ssh-add -D
//removes all ssh entries from the ssh-agent $ ssh-add ~/.ssh/id_rsa_company
// Adds the company ssh key
Og dette er hvordan vi kan administrere flere GitHub-kontoer på samme maskin og bytte mellom dem mens vi jobber med respektive prosjekter.