Jinsi ya Kusimamia Akaunti nyingi za GitHub kwenye Mashine hiyo hiyo

Kama watengenezaji kawaida tunalazimika kuzunguka akaunti nyingi za GitHub kwenye mashine moja. Kwa mfano tuna akaunti yetu ya kibinafsi ya GitHub kwa mradi wetu na akaunti nyingine ya GitHub ambayo tunatumia kwa mradi wa mteja wetu.

Nakala hii hutoa maagizo ya hatua kwa hatua juu ya jinsi ya kusanidi na kufanya kazi na akaunti nyingi za GitHub kwenye mashine moja.



Dhibiti Akaunti nyingi za GitHub

Katika hali hii tutaunda akaunti mbili tofauti za GitHub kwenye mashine moja na kisha ubadilishe kati ya hizo mbili.


Tengeneza Funguo za SSH

Kwanza, tunahitaji kuunda funguo zetu za kibinafsi / za umma za SSH kwa yetu binafsi akaunti.

Tunaweza kufanya hivyo kwa kutekeleza amri ifuatayo kwenye terminal:


$ ssh-keygen -t rsa -C 'email@gmail.com' -f 'id_rsa_personal'

Anwani ya barua pepe hapo juu ndio unayotumia kuingia kwenye akaunti yako ya kibinafsi ya GitHub.

Unapoulizwa eneo ili uhifadhi funguo, kubali eneo chaguo-msingi kwa kubonyeza kuingia. Jozi ya faragha / ya umma imeundwa katika eneo ssh chaguo-msingi ~/.ssh/.

Funguo zetu za SSH za kibinafsi ni:

~/.ssh/id_rsa_personal.pub na ~/.ssh/id_rsa_personal


Ifuatayo, tunaunda funguo zetu za kibinafsi / za umma za SSH kwa yetu mteja akaunti:

$ ssh-keygen -t rsa -C 'email@company.com' -f 'id_rsa_company'

Anwani ya barua pepe hapo juu ndio unayotumia kuingia kwenye akaunti ya mteja wako wa GitHub.

Amri iliyo hapo juu huunda funguo za mteja wetu wa SSH katika ~/.ssh/.

Funguo za mteja wetu wa SSH ni:


~/.ssh/id_rsa_company.pub na ~/.ssh/id_rsa_company

Ongeza Funguo za SSH kwa Akaunti za GitHub zinazozingatia

Ingia kwenye akaunti yako ya kibinafsi ya GitHub na ongeza yako id_rsa_personal.pub ufunguo wa kibinafsi wa umma.

Ifuatayo, ingia kwa akaunti ya mteja wako wa GitHub na uongeze id_rsa_company.pub mteja ufunguo wa umma.

Ikiwa hujui jinsi ya kufanya hivyo, basi soma weka Git na Uzalishe Funguo za SSH .


Sasisha faili ya usanidi wa SSH

Faili ya usanidi wa SSH inakaa ndani ~/.ssh/. Ikiwa hauoni faili ya usanidi, kisha unda moja:

$ cd ~/.ssh/ $ touch config

// Creates the file if not exists $ nano config

// Opens the file for editing

Ongeza maelezo yako tofauti ya GitHub katika faili ya usanidi wa SSH:

# 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

Sajili Funguo za SSH na ssh-wakala

Anza wakala wako wa ssh kwa kukimbia eval '$(ssh-agent -s)'.

Kisha ongeza funguo zako za SSH kwa wakala wa ssh:


ssh-add ~/.ssh/id_rsa_personal ssh-add ~/.ssh/id_rsa_company

Hii itasajili funguo zako za SSH na wakala wa ssh kwenye mashine.

Kitufe kimoja tu cha SSH kinachotumika kwa wakala wa ssh kwa wakati mmoja

Sasa kwa kuwa tumeunda funguo zetu za SSH kwa kibinafsi na kampuni na kuzisajili na wakala wa ssh, sasa tunaweza kubadilisha kati ya akaunti mbili za GitHub kwenye mashine moja.

Tunahitaji kuhakikisha kuwa tuna tu kitufe husika cha SSH kilichoongezwa katika wakala wa ssh kwa wakati mmoja.

Kwa mfano, ikiwa tunafanya kazi kwenye mradi wetu wa kibinafsi tunafanya:

$ ssh-add -D

//removes all ssh entries from the ssh-agent $ ssh-add ~/.ssh/id_rsa_personal
// Adds the personal ssh key

Vivyo hivyo, ikiwa tunafanya kazi kwenye mradi wa mteja wetu, tunafanya:

$ ssh-add -D

//removes all ssh entries from the ssh-agent $ ssh-add ~/.ssh/id_rsa_company

// Adds the company ssh key

Na hii ndio njia tunaweza kudhibiti akaunti nyingi za GitHub kwenye mashine moja na kubadili kati yao wakati tunafanya kazi kwenye miradi husika.