Bu makalemizde Visual Studio üzerinden Git ve GitHub ayarlarının nasıl yapılandıralacağı konusunda bilgi paylaşımında bulunacağım.
Git ayarları iki başlık üzerinde toparlanmıştır:
Git Global Settings (Git Global Ayarlar) sayfası (tüm repolarınız için geçerli) veya Git Repository Settings (Git Reposu Ayarları) sayfası (mevcut repo için geçerli).
Git ayarlarına ulaşmak için aşağıda ki yönergeleri takip ediniz.
- Git ayarlarını Visual Studio’da yapılandırmak için Üst alandan > Git Menüsü > Ayarlar’ı seçin.
- Buradan yapılandırmak istediğiniz alana göre başlık seçimi yapınız. Git Global Settings (Git Global Ayarlar – tüm repolarınız için geçerli) veya Git Repository Settings (Git Reposu Ayarları – mevcut repo için geçerli).
- İstediğiniz ayarları yapılandırdıktan sonra, güncellenen ayarları kaydetmek için Tamam’ı seçin.
-> Git Ayarları
Aşağıda listesi bulunan ayarları Visual Studio üzerinden görüntüleyebilir ve değiştirebilirsiniz.
- İsim ve Email
- Fetch İşlemi Sırasında Remote Branch’ları Silmek (Prune)
- Pulling İşlemi Sırasında Local Branch’ı Entegre Etmek (Rebase)
- Kriptografik Network Sağlayıcısı
- Kimlik Bilgisi Yardımcısı
- Diff & Merge
- Git Dosyaları
- Remotes
- Diğer Ayarlar
Git – İsim ve Email
Vermiş olduğumuz isim ve e-posta bilgileri, yaptığınız herhangi bir commit için commit sahibi bilgisi olarak kullanılır. Bu ayar git config user.name ve user.email ayarlarına karşılık gelir.
- Git menüsünden Settings (Ayarlar’a) gidin. Kullanıcı isminizi ve e-postanızı global düzeyde ayarlamak için Git Global Settings (Git Global Ayarları’na) gidin; kullanıcı adınızı ve e-postanızı repo düzeyinde ayarlamak için Git Repository Settings (Git Repo Ayarları’na) gidin.
- Kullanıcı isminizi ve e-postanızı girin, ardından kaydetmek için OK (Tamam’ı) seçin.
Fetch İşlemi Sırasında Remote Branch’ları Silmek (Prune)
Prune, remote’de uzun süredir bulunmayan branch ve tag’ları temizler ve branch listenizin güncel olmasını sağlar. Git config fetch.prune ayarına karşılık gelir.
Bu seçeneği genel düzeyde True olarak ayarlamanızı önerilir. Kullanılan ayarlar:
- True (Önerilen)
- False
- Unset (Varsayılan)
Değişiklik için şu adımları takip edin:
- Git menüsünden Settings (Ayarlar’a) gidin. Global düzeyde ayarlamak için Git Global Settings (Git Global Ayarları’na) gidin; kullanıcı adınızı ve e-postanızı repo düzeyinde ayarlamak için Git Repository Settings (Git Repo Ayarları’na) gidin.
- Prune remote branches during fetch ayarını True (önerilen) olarak ayarlayın. Kaydetmek için Tamam’ı seçin.
Pulling İşlemi Sırasında Local Branch’ı Entegre Etmek (Rebase)
Rebase, geçerli branc’da üst branc’da olmayan commit’ler tarafından yapılan değişiklikleri bir kenara koyar, mevcut branch’ı üst branc’da sıfırlar ve ardından bir kenara bırakılan değişiklikleri uygular.
Kısaca localdeki commit edilmiş değişiklikleri uzaktan gelenlerin üzerine rebase yapar.
Git config pull.rebase ayarına karşılık gelir. Geçerli ayarlar aşağıdaki gibidir:
True: Getirdikten sonra mevcut branch’ı kaynak branch’ının üstüne yeniden yerleştirin.
False: Geçerli branch’ı kaynak branch’ı ile birleştirin.
Unset (varsayılan): Geçerli Branch’ı kaynak branch ile birleştirin.
Interactive: Etkileşimli modda yeniden başlatın.
Merges: Local olarak oluşturulan merge (birleştirme) commintlerini düzleştirmeden yeniden entegre edin.
- Git menüsünden Settings (Ayarlar’a) gidin. Global düzeyde ayarlamak için Git Global Settings (Git Global Ayarları’na) gidin; kullanıcı adınızı ve e-postanızı repo düzeyinde ayarlamak için Git Repository Settings (Git Repo Ayarları’na) gidin.
- Rebase local branch when pulling ayarını seçin. Kaydetmek için Tamam’ı seçin.
Kriptografik Network Sağlayıcısı
Kriptografik Network sağlayıcısı, çalışma zamanında hangi TLS/SSL arka ucunun kullanılacağını yapılandıran ve git config http.sslBackend ayarına karşılık gelen, gloal kapsamda bir Git yapılandırma ayarıdır.
OpenSSL: TLS ve SSL protokolleri için OpenSSL kullanın.
Secure Channel: TLS ve SSL protokolleri için Secure Channel (Güvenli Kanal (schannel)) kullanın. Schannel, Windows Kimlik Bilgisi Deposuna erişen ve böylece kurumsal çapta sertifika yönetimine izin veren yerel Windows çözümüdür.
Unset: Varsayılan.
- Git menüsünden Settings (Ayarlar’a) gidin. Global düzeyde ayarlamak için Git Global Settings (Git Global Ayarları’na) gidin.
- Cryptographic network provider ayarını seçin. Kaydetmek için Tamam’ı seçin.
Kimlik Bilgisi Yardımcısı
Visual Studio bir uzak Git işlemi gerçekleştirdiğinde, istekle birlikte kimlik bilgilerinin sağlanmasını gerektirdiğinden remote endpoint isteği reddedebilir. O sırada Git, işlemi gerçekleştirmek için gereken kimlik bilgilerini döndürecek ve ardından isteği yeniden deneyecek olan bir kimlik bilgisi yardımcısını çağırır. Kullanılan kimlik bilgisi yardımcısı, git config credential.helper ayarına karşılık gelir.
GCM for Windows: Yardımcı olarak Windows için Git Credential Manager’ı kullanın.
GCM Core: Yardımcı olarak Git Credential Manager Core’u kullanın.
Unset: Varsayılan.
- Git menüsünden Settings (Ayarlar’a) gidin. Global düzeyde ayarlamak için Git Global Settings (Git Global Ayarları’na) gidin.
- Cryptographic network provider ayarını seçin. Kaydetmek için Tamam’ı seçin.
Diff & Merge
Git, tercih ettiğiniz araçlarda farkları (diff) ve birleştirme (merge) çakışmalarını gösterir. Bu bölümdeki ayarlar git config diff.tool ve merge.tool ayarlarına karşılık gelir.
Git Dosyaları
Reponuz dosyalarını görüntülemek ve düzenlemek için gitignore ve gitattributes kullanabilirsiniz.
Remote
Reponuz için remote ayalamalarını yapmak için kullanabilirsiniz. Bu ayar, git remote komutuna karşılık gelir ve remote eklemenize, düzenlemenize veya kaldırmanıza olanak tanır.
Diğer Ayarlar
Diğer tüm Git configuration ayarlarınızı görüntülemek için, configuration dosyalarını açıp görüntüleyebilir veya ayarları görüntülemek için git config –list komutunu çalıştırabilirsiniz.
-> Visual Studio Ayaları
Aşağıdaki ayarlar, Visual Studio’da Git ile ilgili tercihleri yönetir ve Git yapılandırma dosyaları yerine Visual Studio tarafından yönetilir. Bu bölümdeki tüm ayarlar Git Global Settings (Git Global Ayarlar) sayfasında yapılandırılır.
- Default location
- Repo açarken Git altında olmayan açık solution’ları kapatın
- Üçüncü taraf kaynaklardan yazar resimlerinin indirilmesini etkinleştirin
- Birleştirmeden sonra değişiklikleri (commit) varsayılan olarak kaydet
- Push –force’u etkinleştir
- Git reposunu açarken klasörü Solution Explorer’da aç
- Git reposunu açarken solution’u otomatik olarak yükle
- Branch’ları çift tıklama veya Enter tuşu ile otomatik olarak kontrol edin
Default Location
Default Location, depoların klonlandığı varsayılan klasörü yapılandırır.
Repo açarken Git altında olmayan açık solution’ları kapatın
Varsayılan olarak, başka bir repoya geçtiğinizde Visual Studio tüm açık solution’ları veya klasörleri kapatır. Ancak, solution ile reponuz aynı klasör kökünde değilse, reponuzu açtığınızda solution’u açık tutmak isteyebilirsiniz. Bu ayar ile bunu yapabilirsiniz.
- Yes: Bir repo açıldığında, o anda açık olan solution her zaman kapalıdır.
- No: Bir repo açıldığında, Visual Studio mevcut solutionun Git altında olup olmadığına dair bir kontrol gerçekleştirir. Değilse, solution açık kalır.
- Always ask: (varsayılan) Bu ayarlandığında, mevcut solution açık tutmak veya kapatmak isteyip istemediğinize bağlı olarak, açık repo başına bir iletişim kutusu aracılığıyla bir seçim yapabilirsiniz.
Üçüncü taraf kaynaklardan yazar resimlerinin indirilmesini etkinleştirin
Enable download of author images from third-party sources (Üçüncü taraf kaynaklardan yazar resimlerinin indirilmesini etkinleştir), global kapsamda Visual Studio’ya özgü bir ayardır. İşaretlendiğinde, yazar resimleri, varsa Gravatar resim hizmetinden indirilir ve kayıt ve geçmiş görünümlerinde görüntülenir.
Birleştirmeden sonra değişiklikleri (commit) varsayılan olarak kaydet
Commit changes after merge by default (Varsayılan olarak birleştirmeden sonra commit değişiklikleri) etkinleştirildiğinde, Git otomatik olarak bir Branch mevcut branch ile birleştirildiğinde yeni bir commit oluşturur.
- İşaretlendiğinde, Visual Studio tarafından verilen git merge komutları –commit seçeneğiyle çalıştırılır.
- İşaretlenmediğinde, Visual Studio tarafından verilen git merge komutları –no-commit –no-ff seçenekleriyle çalıştırılır.
Push –force’u etkinleştir
Bu ayar etkinleştirildiğinde, push –force-with-lease‘i Visual Studio içinden olanak tanır. Enable Push –force-with-lease‘i varsayılan olarak devre dışıdır.
Git reposunu açarken klasörü Solution Explorer’da aç
Bir Git reposunu açmak veya buna geçiş yapmak için Visual Studio’yu kullandığınızda, Değişiklikleri, commitleri, branchları görüntüleyebilmeniz ve reponuzu IDE içinden yönetebilmeniz için Visual Studio Git içeriğini yükler. Ek olarak Visual Studio, reponun kodunu Solution Explorer (Çözüm Gezgini’ne) de yükleyecektir. Visual Studio, repo klasörünü çözümler, CMakeLists.txt veya tanıdığı diğer tüm görünüm dosyaları için tarar ve bunları Solution Explorer’da bir liste olarak görüntüler. Oradan, yüklenecek bir solution veya klasör içeriğini görüntülemek için klasör seçebilirsiniz. Bu onay kutusunu kapattığınızda Visual Studio, Solution Explorer (Çözüm Gezgini’nde) repo klasörünü açmayacaktır. Bu, temel olarak Visual Studio’yu yalnızca bir Git reposu yöneticisi olarak açmanıza izin verecektir. Bu ayar varsayılan olarak açıktır.
Git reposunu açarken solution’u otomatik olarak yükle
Bu ayar yalnızca Git reposunu açarken klasörü Solution Explorer’da aç ayarı açık olduğunda uygulanabilir. Visual Studio’da bir Git reposunu açtığınızda ve sonraki klasör taraması, reponuzda yalnızca bir solution olduğunu algıladığında, Visual Studio bu solution’u otomatik olarak yükler. Ayarı kapatırsanız, Solution Explorer repoda bulunan tek solution görünümler listesinde görüntüler. Ancak solution’u yüklemeyecek. Varsayılan olarak bu ayar kapalıdır.
Branch’ları çift tıklama veya Enter tuşu ile otomatik olarak kontrol edin
Git Reposu penceresi, bir ağaç yapısında görüntülenen branch’ların bir listesine sahiptir. Bir branch’ın tek seçilmesi, seçilen branch’ın commitlerini görüntülemek için commit geçmişi bölmesini değiştirecektir. Bir branch’ı teslim almak için içerik menüsünü açmak için sağ tıklayıp Checkout’u seçebilirsiniz. Bu ayarı açarsanız, çift tıklamak veya Enter tuşuna basmak ile branch’ı kontrol edecek ve commitlerini gösterecektir.