İçindekiler
Bir Bilgisayarda Birden Fazla Githup Hesabı Kullanımı
Windows işletim sistemi için yazıyorum ancak mantık diğer işletim sistemlerinde de çalışmalı. 5 basit aşama ile istediğimiz zaman hesaplar arası geçiş yapabileceğiz.
- Tüm hesaplar için SSH anahtarları oluşturulması
- SSH anahtarlarının SSH Agent'a eklenmesi
- SSH public anahtarların Githup'a eklenmesi
- Ayar dosyası oluşturulması ve Host girdilerinin hazırlanması
- Githup repoları kopyalanırken farklı hesapların kullanılması
Tüm hesaplar için SSH Anahtarlarının Oluşturulması
Windows için, kullanıcı klasöründe olmanız gerekmektedir. Ancak Gİt Bash komut satırını kullanacağımızdan bunu dert etmemize gerek yok. Unix kodları kullanarak işlerimizi halledebiliriz.
C:\Users\__SENIN_KULLANICI_ADIN__\
- Git Bash'i aç ve sırasıyla aşağıdaki kodları yaz.
cd ~ mkdir .ssh # Klasör zaten varsa yukarıdakinde hata verecektir. Varsa zaten o klasörü kullanıcaz. cd .ssh eval `ssh-agent -s`
- Aşağıdaki kodu kullanarak her hesabın için ilgili klasörde ssh anahtarları oluştur.
ssh-keygen -t rsa -C "__MAIL_ADRESIN__" -f "__GITHUP_KULLANICI_ADIN__"
Buradaki -C
anahtarı tanımlamaya yardımcı amaçlı yorum içindir. -f
ise anahtarın kaydedileceği dosyanın ismidir.
Dikkat: Burada yazacağın mail adresinde githup'ın bize tanımladığı mail atılamaz mail adresi olmalıdır. Zorunlu değil ancak asıl mail adresimizi karışıklık olmaması için giçbir git işleminde kullanmamak daha iyidir.
Anahtarları ekledikten sonra .ssh klasörü içerisinde her hesap için bir private bir public dosya oluşması lazım.
Public anahtar .pub
uzantısına sahip olacak ve private anahtar ise bir uzantıya sahip olmayacaktır. İkisininde ismi -f
'den sonra yazdığınla aynı olacaktır.
Tüm hesapların için birer anahtar oluşturduktan sonra devam edebilirsin.
SSH Anahtarlarının SSH Agent'a Eklenmesi
Komut satırında hâla .ssh içerisindeyken aşağıdaki komutla anahtarları agent'a ekleyebilirsin.
ssh-add __GITHUP_KULLANICI_ADI__ ssh-add __GITHUP_KULLANICI_ADI__
SSH Public Anahtarının Githup'a Eklenmesi
Oluşan .pub
dosyalarını herhangi bir metin editörü ile aç ve içeriğini kopyala.
https://github.com/settings/keys adresine giderek. New SSH key kısmından ekle. Title kısmına istediğini yazabilirsin.
Config Dosyası oluşturma ve hazırlama
- Git Bash üzerinden
touch config
komutunu gir. - Yukarıdaki kod o klasörde config isminde uzantısız bir dosya oluşturacaktır. O dosyayı herhangi bir metin editörü ile aç ve içerisine aşağıdakileri yapıştır.
#__GITUP_KULLANICI_ADI__ account Host github.com-__GITUP_KULLANICI_ADI__ HostName github.com User git IdentityFile ~/.ssh/__GITUP_KULLANICI_ADI__ #__GITHUP_KULLANICI_ADI_2__ account Host github.com-__GITHUP_KULLANICI_ADI_2__ HostName github.com User git IdentityFile ~/.ssh/__GITHUP_KULLANICI_ADI_2__
Kullanıcı adı kısımlarını kendine göre düzenle. Sayıyı istediğin kadar arttırabilirsin.
Githup Repolarını Farklı Hesaplar Kullanarak Klonlama
Aşağıdaki komut ile klonlama yapabilirsin yada direkt HTTPS üzerindende klonlama yapabilirsin.
git clone git@github.com-{__GITHUP_KULLANICI_ADI__}:{__REPO_SAHIBININ_KULLANICI_ADI__}/{__REPO_ADI__}.git
Commitlerin hangi hesapla yapılacağını belirlemek için her repo için ayrı ayrı kullanıcı ayarları yapman gerekmekte. Global ayarlar sadece tek bir hesap için kullanılabilir. Tüm var olan repolarına ve gelecekte klonlayacağın repolarında her zaman aşağıdaki işlemleri yap.
git config user.email "__GITHUP_MAIL_ADRESI__" git config user.name "__GITHUP_KULLANICI_ADI__" git config user.email "__GITHUP_MAIL_ADRESI_2__" git config user.name "__GITHUP_KULLANICI_ADI_2__"
Elbette sayıyı arttırabilirsin.
Son olarak pull ve push kullanabilmek için remote origin eklememiz gerekmekte. Aşağıdaki komutu her repon için çalıştır.
git remote add origin git@github.com-__GITHUP_KULLANICI_ADI__:__GITHUP_KULLANICI_ADI__ git remote add origin git@github.com-__GITHUP_KULLANICI_ADI_2__:__GITHUP_KULLANICI_ADI_2__
UCH Viki'den alınmıştır. https://wiki.ulascemh.com/doku.php?id=tr:cs:git:multipleaccount