Skip to content
Geriye git

Tek cihâzda birden fazla Github hesabı kullanma

Neşri:  at  09:00 AM

İşbu rehberle tek bir cihâzdan muhtelif Github hesaplarına SSH vasıtasile bağlanmayı ve üzerinde çalıştığınız tarhların hangi hesaba ait olduğuna dair ayarlamayı taallüm edeceksiniz.

İşbu rehber Microsoft Windows 10 için hazırlanmıştır.

Fihrist

Fihrist muhtevasını âşikâr et

Kullanacağımız Nerm-efzârlar

Üzerinde çalıştığımız tarhların kademelerini kayıt ve idare etmek için kullandığım Git ve Github nerm-efzârlarını kullanacağız. Github tarhlarımızı saklayacağımız bir mahzendir. Git ise tarhlarımızın kademelerini takip ve idare etmemizi sağlar. VS Code nerm-efzârını ferman yazmak için kullanırız. Yazdığımız fermanları inşa etmek ve dahi tecrübe etmek için PowerShell isimli emirgâhı kullanırız.

Mezkûr nerm-efzârların ağ sahifeleri:

Git Github VS Code PowerShell

Üstteki ağ sahifelerinden işbu nerm-efzârları indirelim ve cihâzımıza kuralım.

SSH Ayarları

SSH Milefi

SSH anahtarlarını şahsî milefimizde bir alt-milef açarak muhafaza edeceğiz. Şahsî milefinizi C:\Users\ben gibi bir yerdedir. Ben kelimesini kendi hesap isminizle değiştirin. İşbu milefin içine .shh isimli bir alt-milef açın. SSH anahtarlarımızı C:\Users\ben\.ssh alt-milefinde muhafaza edeceğiz.

SSH Anahtarları

2 farklı Github hesabile kullanmak için 2 adet SSH anahtarı hazırlayacağız. Her bir anahtar sır ve faş olmak üzeri çift olarak ibda edilir. Faş olanı muhataplarımıza veririz. Sır olanı ise saklarız. Muhataplarımızla irtibat kuracağımız vakit sır olanı kullanırız ki bu sayede muhatabımız elindeki faş olan anahtarla talimatın bizden geldiğine emin olabilsin. Aşağıdaki emri hem githubHesapA hem githubHesapB olarak emirgâha verelim.

ssh-keygen -t ed25519 -C "githubHesapA"

İşbu emri verdikten sonra bizden anahtar ismini talep edecektir. Anahtar ismimizi milefi ile beraber vereceğiz, şöyle ki:

Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\ben/.ssh/id_ed25519): .ssh\id_ed25519_github_hesapA

Aynı şekilde githubHesapB için de .ssh\id_ed25519_github_hesapB diyerek yapalım.

Anahtarlar hazır oldukta, C:\Users\ben\.ssh milefini açıp tedkik edebilirsiniz. Her anahtar çift olarak gelir, faş olanın sonunda .pub yazarken sır olanın sonunda bir şey yazmaz.

Emniyetiniz için anahtarlarınızı ibda ederken bir şifre tayin edebilirsiniz.

SSH Ayar Sicili

C:\Users\ben\.ssh milefi içerisinde bir ayar sicili ibda edeceğiz. İşbu sicilin ismi config olmalıdır. C:\Users\ben\.ssh\config sicili hazır olunca bir metin tashihçisi ile aşağıdaki şekilde ayarlamaları yapalım:

Host githubHesapA
    HostName github.com   # An address to SSH to.
    User git
    IdentityFile ~/.ssh/id_ed25519_github_hesapA
    IdentitiesOnly yes

Host githubHesapB
    HostName github.com   # An address to SSH to.
    User git
    IdentityFile ~/.ssh/id_ed25519_github_hesapA
    IdentitiesOnly yes

SSH-Agent

Cihâzımızdaki SSH-Agent hizmetini faal hale getirmeliyiz. Services isimli tatbiği aratalım ve OpenSSH Authentication Agent isimli hizmeti faal hale getirelim. İlaveten, açılış tarzını ihtiyarî (automatic) yapalım ki tekrar tekar işbu hizmeti başlatmamız gerekmesin.

Mezkûr hizmet faal olunca aşağıdaki talimat ile SSH anahtarlarımızı tanıtalım:

ssh-add C:\Users\ben\.ssh\id_ed25519_github_hesapA

Aynısını hesapB içinde yapalım.

Gayretgâh

Şimdi tarhlarımızı tertipli bir şekilde tutmak için 2 adet milef ibda edeceğiz. Bunlar: D:\Gayretgah\hesapA ve D:\Gayretgah\hesapB olacaklar. Her hesabın sahip olduğu tarhları kendine ait olan milefte muhafaza edeceğiz.

.gitconfig Ayar Sicili

Birden fazla Github hesabı kullanmak istediğimiz için birden fazla hesabın bilgilerini bir şekilde tutabilmeliyiz. Bunun için C:\Users\ben\.gitconfig ayar sicilini aşağıdaki gibi hazırlayalım. Bu ayarlar ile Git talimatlarının cari oldukları milefe göre kullanacağı hesap bilgilerini tayin etmiş olacağız.

[includeIf "gitdir:D:/Gayretgah/hesapA/"]
	path = ./.gitconfig-hesapA
[includeIf "gitdir:D:/Gayretgah/hesapB/"]
	path = ./.gitconfig-hesapB

Şimdi, üstteki sicile ilaveten 2 adet daha ayar sicili hazırlayacağız ki bunlar: C:\Users\ben\.gitconfig-hesapA ve C:\Users\ben\.gitconfig-hesapB sicilleridir.

[user]
	name = hesapA
	email = hesapA@gmail.com
[core]
	sshCommand = "ssh -i ~/.ssh/id_ed25519_github_hesapA"

Aynısını hesapB içinde hazır edelim.

Github SSH Ayarları

PowerShell isimli emirgâhı açalım ve aşağıdaki talimatı verelim ve faş olan anahtarı hafızaya alalım.

 cat ~/.ssh/id_ed25519_github_hesapA.pub

Yahut Git Bash isimli emirgâh ile:

clip < ~/.ssh/id_ed25519_github_hesapA.pub

Github nerm-efzârını açalım ve hesaplarımızdan birine duhul edelim. SSH ayarları için https://github.com/settings/keys raptını takip edelim. New SSH Key yazan tuşa tıklayıp evvelki talimatla hafızaya aldığımız faş anahtarı yapıştıralım. Sonra kayıt edelim.

Aynısını hesapB için de yapalım.

Github Gencînesi

Github nerm-efzârını açalım ve muhafaza etmek istediğimiz tarhımız için bir gencîne ibda edelim. Gencîne hazır olunca hızlı ayar için olan sahife karşımıza çıkacaktır. Orada HTTPS yerine SSH şıkkını seçelim ve SSH için olan raptı hafızaya alalım.

SSH raptı şu kalıpta olmalıdır: git@github.com:hesapA/tarh-tecrubi.git

SSS Ayar Sicili kısmında githubHesapA diyerek github.com raptına işaret etmiş ve işbu hesaba bağlanırken kullanacağımız SSH anahtarını dahi tayin etmiştik. Şimdi, hafızaya aldığımız SSH raptını tadil edeceğiz:

SSH raptı şu şekle getirmeliyiz: githubHesapA:hesapA/tarh-tecrubi.git

Tarh İbdası

Tecrübe için yeni bir milef açalım. Bu milefin içinde iken bir PowerShell emirgâhı çalıştıralım ve aşağıdaki talimatları verelim.

git init
git remote set-url origin githubHesapA:hesapA/tarh-tecrubi.git
git branch -M merkezi

# Ve eğer tarhımızı gencîneye aktarmak istersek
git add .
git commit -m "iptidaî"
git push -u origin merkezi

Bundan sonra ibda edeceğimiz her tarhı git remote set-url talimatile dilediğimiz Github hesabındaki bir gencîneye bağlayabiliriz. Tarhımızı orada muhafaza edip, kademelerini takip ve idare edebiliriz.


Tashih Talebi

Evvelki Makāle
Tedrîsâtın Târifi