Bii o ṣe le Ṣakoso awọn Awọn iroyin GitHub lọpọlọpọ lori Ẹrọ Kanna

Gẹgẹbi awọn oludasile a ni deede lati jo ni ayika awọn iroyin GitHub lọpọlọpọ lori ẹrọ kanna. Fun apẹẹrẹ a ni akọọlẹ GitHub ti ara wa fun iṣẹ ti ara wa lẹhinna iroyin GitHub miiran ti a lo fun iṣẹ alabara wa.

Nkan yii n pese awọn itọnisọna igbesẹ-ni-igbesẹ lori bii o ṣe le seto ati ṣiṣẹ pẹlu awọn akọọlẹ GitHub pupọ lori ẹrọ kanna.



Ṣakoso awọn Awọn iroyin GitHub lọpọlọpọ

Ni oju iṣẹlẹ yii a yoo ṣẹda awọn iroyin GitHub oriṣiriṣi meji lori ẹrọ kanna ati lẹhinna yipada laarin awọn meji.


Ina Awọn bọtini SSH

Ni akọkọ, a nilo lati ṣẹda awọn ikọkọ SSH ikọkọ wa / ti gbangba fun tiwa ti ara ẹni iroyin.

A le ṣe eyi nipa ṣiṣe pipaṣẹ wọnyi ni ebute kan:


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

Adirẹsi imeeli ti o wa loke ni ọkan ti o lo lati buwolu wọle si akọọlẹ GitHub ti ara ẹni rẹ.

Nigbati o beere fun ipo lati fi awọn bọtini pamọ, gba ipo aiyipada nipasẹ titẹ tẹ. A ṣẹda bata bọtini ikọkọ / ti ara ẹni ni ipo ssh aiyipada ~/.ssh/.

Awọn bọtini SSH ti ara ẹni wa ni:

~/.ssh/id_rsa_personal.pub ati ~/.ssh/id_rsa_personal


Nigbamii ti, a ṣẹda awọn ikọkọ SSH ikọkọ wa / gbangba fun tiwa ibara iroyin:

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

Adirẹsi imeeli ti o wa loke ni ẹni ti o lo lati buwolu wọle si iroyin GitHub alabara rẹ.

Aṣẹ ti o wa loke ṣẹda awọn bọtini SSH alabara wa ninu ~/.ssh/.

Awọn bọtini SSH alabara wa ni:


~/.ssh/id_rsa_company.pub ati ~/.ssh/id_rsa_company

Ṣafikun Awọn bọtini SSH si Awọn iroyin GitHub ti Ọwọ

Wọle si akọọlẹ GitHub ti ara ẹni rẹ ki o ṣafikun id_rsa_personal.pub rẹ bọtini ti ara ẹni ti ara ẹni.

Nigbamii, buwolu wọle si akọọlẹ GitHub alabara rẹ ki o ṣafikun rẹ id_rsa_company.pub ibara àkọsílẹ bọtini.

Ti o ko ba ni idaniloju bi o ṣe le ṣe, lẹhinna ka fi sori ẹrọ Git ati Ina Awọn bọtini SSH .


Ṣe imudojuiwọn Faili atunto SSH

Faili atunto SSH wa ni ~/.ssh/. Ti o ko ba ri faili atunto kan, lẹhinna ṣẹda ọkan:

$ cd ~/.ssh/ $ touch config

// Creates the file if not exists $ nano config

// Opens the file for editing

Ṣafikun awọn profaili GitHub oriṣiriṣi rẹ ninu faili atunto 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

Forukọsilẹ Awọn bọtini SSH pẹlu oluranlowo ssh

Bẹrẹ oluranlowo ssh rẹ nipa ṣiṣiṣẹ eval '$(ssh-agent -s)'.

Lẹhinna ṣafikun awọn bọtini SSH rẹ si oluranlowo ssh:


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

Eyi yoo forukọsilẹ awọn bọtini SSH rẹ pẹlu ssh-agent lori ẹrọ naa.

Nikan Key SSH Ṣiṣẹ Kan ni ssh-aṣoju ni akoko kan

Nisisiyi ti a ti ṣẹda awọn bọtini SSH wa fun ara ẹni ati ile-iṣẹ ati forukọsilẹ wọn pẹlu oluṣowo ssh, a le ni rọọrun yipada laarin awọn iroyin GitHub meji lori ẹrọ kanna.

A nilo lati rii daju pe a ni bọtini SSH oniwun nikan ti a ṣafikun ninu oluranlowo ssh ni akoko kan.

Fun apẹẹrẹ, ti a ba n ṣiṣẹ lori idawọle ti ara ẹni a ṣe:

$ ssh-add -D

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

Bakanna, ti a ba n ṣiṣẹ lori iṣẹ alabara wa, a ṣe:

$ ssh-add -D

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

// Adds the company ssh key

Ati pe eyi ni bi a ṣe le ṣakoso ọpọlọpọ awọn iroyin GitHub pupọ lori ẹrọ kanna ati yipada laarin wọn lakoko ti n ṣiṣẹ lori awọn iṣẹ akanṣe.