Visual Studio'da Git depolarına göz atın ve dalları karşılaştırın

Git Değişiklikleri penceresi, kodunuzdan uzaklaşmak zorunda kalmadan kodlama sırasında Git ile etkileşim kurmanın sorunsuz bir yolunu sağlar. Ancak bazı durumlarda Git deponuza odaklanmak daha mantıklı olur. Örneğin, ekibinizin üzerinde çalıştığı şeyin iyi bir resmini almanız veya bir hatayı araştırmak için iki işlemeyi karşılaştırmanız gerekebilir.

GitHub veya Azure DevOps gibi tercih ettiğiniz Git sağlayıcısıyla uzaktan çalışabilirsiniz.

Yerel ve uzak şubelere göz atın

Başlamak için, Görünüm menüsünde Git Deposu'na tıklayarak (veya Ctrl0, ++ klavye kısayolunu kullanarak) Git Deposu penceresini açın. Git Değişiklikleri penceresinde ve durum çubuğunda giden/gelen bağlantıları seçerek GitDeposu penceresine de erişebilirsiniz.

Sol bölmede Dallar veya Etiketler ile Çekme İstekleri, ana bölmede ise çekme isteği ayrıntıları bulunan Visual Studio’daki Git Deposu penceresinin ekran görüntüsü.

Git Deposu penceresinin anatomisini gösteren ekran görüntüsü.

Git Deposu penceresi bir sol bölme içerir. Orada ne seçerseniz sağ taraftaki içeriği o belirler.

Visual Studio sol bölmede Branches / Tags ve Pull Requests bulunur.

Git Deposu penceresi, önceki ekran görüntüsünde numaralandırılmış olarak üç ana bölüm içerir:

Dallar/ Etiketler: Git, kullanıcıları dallar aracılığıyla birden çok görev yapmaya ve kodlarıyla deneme yapmaya teşvik eder. Git'te dallanma, özellikle birden çok özelliğe sahip karmaşık projeler üzerinde çalışırken veya bir ekiple işbirliği yaparken çeşitli senaryolarda yararlıdır. Visual Studio 17.13 ve sonraki sürümlerle depoda etiketleri görebilir ve herhangi bir etikete gidebilirsiniz. Ekibiniz, deponuzun geçmişindeki noktaları işaretlemek ve deponun geçmişindeki o noktadaki durumunu görüntülemek için git etiketlerini (örneğin, v1.0) kullanabilir. Bkz. Git - Etiketleme.

Git Deposu penceresinde git etiketlerini gösteren ekran görüntüsü.

Grafik: Bu bölüm dalınızın durumunu görselleştirir. Üç alt bölümü vardır:

  • Gelen , ekibinizin katkıda bulunmakta olduğu gelen işlemeleri gösterir.
  • Giden halen göndermediğiniz yerel işlemelerinizi gösterir.
  • Yerel Geçmiş , yerel deponuz tarafından izlenen işlemelerin geri kalanını gösterir.

İşleme: Bu bölümü açmak için Graph bölümünden herhangi bir işlemeyi seçin. Bir işlemenin sunduğu değişiklikleri, bunları seçerek denetleyebilirsiniz ve bu da bir fark gösterir. Örneğin, önceki ekran görüntüsü bir commit işleminin Resize.cs dosyasına yaptığı değişiklikleri gösterir.

Dallar/ Etiketler: Git, kullanıcıları dallar aracılığıyla birden çok görev yapmaya ve kodlarıyla deneme yapmaya teşvik eder. Git'te dallanma, özellikle birden çok özelliğe sahip karmaşık projeler üzerinde çalışırken veya bir ekiple işbirliği yaparken çeşitli senaryolarda yararlıdır. Depoda etiketleri görebilir ve herhangi bir etikete gidebilirsiniz. Ekibiniz, deponuzun geçmişindeki noktaları işaretlemek ve deponun geçmişindeki o noktadaki durumunu görüntülemek için git etiketlerini (örneğin, v1.0) kullanabilir. Bkz. Git - Etiketleme.

Git Deposu penceresinde git etiketlerini gösteren ekran görüntüsü.

Dallar / Etiketler seçili durumdayken sağ tarafta Graf ve İşleme bölümlerini görürsünüz.

Grafik: Bu bölüm dalınızın durumunu görselleştirir. Üç alt bölümü vardır:

  • Gelen , ekibinizin katkıda bulunmakta olduğu gelen işlemeleri gösterir.
  • Giden halen göndermediğiniz yerel işlemelerinizi gösterir.
  • Yerel Geçmiş , yerel deponuz tarafından izlenen işlemelerin geri kalanını gösterir.

İşleme: Bu bölümü açmak için Graph bölümünden herhangi bir işlemeyi seçin. Bir işlemenin sunduğu değişiklikleri, bunları seçerek denetleyebilirsiniz ve bu da bir fark gösterir. Örneğin, önceki ekran görüntüsü bir commit işleminin Resize.cs dosyasına yaptığı değişiklikleri gösterir.

Commit'lere ayrıntılı göz atın

Alt+Yukarı ok veya Alt+Aşağı ok klavye kısayolları, sol paneldeki bölümler arasında geçiş yapmanızı sağlar.

Dalınızı değiştirmek zorunda kalmadan herhangi bir yerel veya uzak dala göz atabilirsiniz. Odaklanmak istediğiniz bir işleme bulduğunuzda, işlemeyi farklı bir sekmede açmak için Yeni Sekmede Aç düğmesini seçin.

Yeni bir sekmede işlemeyi açma ekran görüntüsü.

İşleme ayrıntıları için sekmenin ekran görüntüsü.

İşleme ayrıntıları için sekmenin ekran görüntüsü.

İpucu

İşleminizi tam ekranda görüntülemek için Taahhüt sekmenizi ayırıp Ekreni Büyüt düğmesini kullanarak Taahhüt penceresini maksimum yapın. Ayrıca dişli simgesi Diff Configuration üzerine tıklayarak en sevdiğiniz fark yapılandırmasını seçebilirsiniz.

Fark yapılandırmalarıyla tam ekran işlem kaydı detaylarının ekran görüntüsü.

İpucu

İşleminizi tam ekranda görüntülemek için Taahhüt sekmenizi ayırıp Ekreni Büyüt düğmesini kullanarak Taahhüt penceresini maksimum yapın. Ayrıca dişli simgesi Diff Configuration üzerine tıklayarak en sevdiğiniz fark yapılandırmasını seçebilirsiniz.

Fark yapılandırmalarıyla tam ekran işlem kaydı detaylarının ekran görüntüsü.

Çekme istekleri

Dalları ve commit’leri gözden geçiriyorsanız, soldaki panelden Pull Requests bölümüne geçin.

Çekme İstekleri bölümünde etkin çekme isteklerinin listesi gösterilir.

Çekme isteklerine göz atın ve açın

Dala bakmadan gömülü inceleme görünümünü açmak için herhangi bir çekme isteğini seçin. Git Deposu penceresinden (View>Git Deposu), Git Değişiklikleri veya Git>GitHub (veya Azure DevOps) >Çekme İsteklerini Görüntüle seçeneklerinden çekme isteklerine erişin.

Solda çekme isteği listesinin, sağda ise açıklama ve değiştirilen dosyalarla birlikte seçili çekme isteğinin genel görünümünün ekran görüntüsü.

  • Tek görünümde çekme isteği açıklaması, değiştirilen dosyalar, commit’ler, ilgili öğeler ve gözden geçirenler.
  • Çalışma dalınızı kesintiye uğratmadan etkin çekme istekleri arasında geçiş yapın.
  • Pull request’teki her bir commit’in ayrıntılarını ve değişikliklerini görüntüleyin.

Yorum yapın ve tartışın

Doğrudan fark görünümünde geri bildirim bırakın ve tarayıcıya geçmeden konuşmaya devam edin.

Yanıt ve çözümleme eylemi içeren satır içi çekme isteği yorum dizisine sahip bir dosya farkının ekran görüntüsü.

  • Belirli satırlara satır içi yorumlar ekleyin, yorumları yanıtlayın ve ileti dizilerini çözün.
  • Değişiklikler listesinde dosya başına açıklama göstergelerini görüntüleyin.
  • Web deneyimine benzer şekilde, satır içi görüntüleri ve biçimlendirilmiş metinleri açıklamalarda işleyin.

Onaylama, tamamlama ve birleştirme

Hazır olduğunuzda, çekme isteğini onaylayın ve Visual Studio’da tamamlayın. Oy ve tamamlama eylemleri birden çok görünümde kullanılabilir, böylece değişiklikleri gözden geçirirken onaylayabilirsiniz.

  • Pull request’i onaylayın. Azure DevOps için açılır listede daha fazla oy seçeneği kullanılabilir.
  • Genel bakış sekmesinde durum denetimlerini, birleştirme çakışmalarını ve gerekli onayları görüntüleyin.
  • Taslak haline dönüştürme ve bırakma veya kapatma seçenekleriyle çekme isteğini tamamlayın veya birleştirin.

Dosyalarda ve diff görünümlerinde çekme isteklerine açıklama eklemeye ilişkin ayrıntılı iş akışları için bkz. Visual Studio'da çekme isteği oluşturma.

Çekme istekleri olan Copilot Chat iş akışları için bkz. Copilot Chat çekme istekleri ekleme.

Çok dallı geçmiş görünümü

Sürüm 17.7 ile birlikte gelen yenilik: Git Deposu penceresini açtığınızda, tek dal görünümünde başlarsınız. Daha sonra herhangi bir dalı seçerek hem dalı hem de işlemelerini çok dallı bir geçmiş görünümüne ekleyebilirsiniz. Bu görünüm, birden çok dalla etkileşimde bulunmayı daha verimli hale getiren görsel ipuçları ekler.

Visual Studio'da çok dallı geçmiş görünümünün ekran görüntüsü.

Yerel Geçmiş görünümünün sol tarafında her dala ait olan işlemeleri izlemeyi kolaylaştırmaya yardımcı olan hem çizgi renklendirme hem de dal etiketleri bulunur. Tablonun en üstündeki dal listesini kullanarak dallar arasında daha kolay gezinebilir ve grafikte hangi dalların göründüğünü hemen öğrenebilirsiniz.

Dallar / Etiketler bölümünde, Bir dalın üzerine gelerek Geçmiş'te Dalı Aç/Kapat vurgu düğmesini (simge bir göz gibi görünür) gösterin. Kaydırma düğmesini kullanarak, işleme geçmişi görünümünde gösterilecek dalları seçebilirsiniz.

Görünümü özelleştirmek ve dallara göre filtrelemek için işleme geçmişi görünümünün üst kısmındaki araç çubuğu düğmelerini kullanabilirsiniz.

  • Yalnızca İlk Üst Öğeyi Göster: Geçmişi, kendi işleme sıralarına sahip yan dallar yerine yalnızca tek bir satır olarak işleme geçmişini gösterecek şekilde sınırlayın.

  • Yerel Dalları Göster: Geçmiş görünümünde yerel dal etiketlerinin gösterilip gösterilmeyeceğini değiştirin.

  • Uzak Dalları Göster: Görüntülediğiniz işleme geçmişine katkıda bulunan uzak dallar için etiketlerin gösterilip gösterilmeyeceğini değiştirin.

  • Etiketleri Göster: Etiketlerin gösterilip gösterilmeyeceğini değiştirin.

    Yerel Dalları Göster, Uzak Dalları Göster ve Etiketleri Göster'in tümü, geçmiş görünümünde sol tarafta gösterilen işlemelerdeki etiket göstergelerine başvurur.

    Geçmiş görünümünde dallar ve etiketler için gösterge etiketlerini gösteren ekran görüntüsü.

Sürüm 17.14 ile yeni: Eşitlenmemiş commit'lere odaklanmak için, geçmiş görünümünü yalnızca giden commit'leri (henüz geçerli daldan gönderilmemiş) ve gelen commit'leri (uzaktaki yeni commit'ler) gösterecek şekilde değiştirmek için Yalnızca Giden/Gelen'i Göster araç çubuğu düğmesini kullanabilirsiniz.

Geçmiş görünümünde herhangi bir yere sağ tıklayarak bağlam menüsünde Giden/Yalnızca Gelenleri Göster'i de seçebilirsiniz.

Commit'leri karşılaştır

Dalınızdaki iki işlemeyi karşılaştırmak için, karşılaştırmak istediğiniz iki işlemeyi seçmek için Ctrl tuşunu kullanın. Ardından birine sağ tıklayın ve Commitleri Karşılaştır'ı seçin.

İki işlemeyi karşılaştırmanın ekran görüntüsü.

İki işlemeyi karşılaştırmanın ekran görüntüsü.

Karşılaştırılan işlemelerin ekran görüntüsü.

Karşılaştırılan işlemelerin ekran görüntüsü.

İpucu

İşleme Ayrıntıları'na benzer şekilde, karşılaştırmayı farklı bir sekmede açmak veya ekranda maksimum boyuta getirmek için Yeni Sekmede Aç düğmesini kullanabilirsiniz.

Gönderim kapsamını değişiklik özetiyle gözden geçirin

Git>Dal Geçmişini Görüntüle'de herhangi bir commit'i açın ve Değişiklik özeti'ni aç seçin. Visual Studio, birden çok dosyadan değiştirilen satırları tek bir birleşik görünümde gösterir. Bu, daha ayrıntılı dosya incelemesinden önce hızlı geçiş için kullanışlıdır.

İşleme ayrıntılarında Açık değişiklikler özetini gösteren ekran görüntüsü.

Bir taahhütten dal oluşturma

Visual Studio'da Git Deposu penceresindeki Git Graph bölmesini kullanarak önceki işlemelerden dallar oluşturabilirsiniz. Bunu yapmak için, yeni dal oluşturmak istediğiniz işlemeye sağ tıklayın ve ardından Yeni Dal'ı seçin.

Git Deposu penceresinin Git Graph bölmesinin ekran görüntüsü.

Git Deposu penceresinin Git Graph bölmesinin ekran görüntüsü.

Uyarı

Bu eylemin eşdeğer komutudur git branch <branchname> [<commit-id>].

Dalları karşılaştırma

Dalları karşılaştırmak, iki dal arasındaki farklara genel bir bakış sağlar. Bu, çekme isteği oluşturmadan, birleştirmeden veya hatta bir dalı silmeden önce yararlı olabilir.

Git'in dalları nasıl karşılaştırdığını gösteren diyagram.

Visual Studio kullanarak kullanıma alınmış durumdaki dalınızı diğer dallarla karşılaştırmak için durum çubuğunda barındırılan dal seçiciyi ve git değişiklik aracı penceresini kullanarak karşılaştırabileceğiniz yerel veya uzak dalları seçebilirsiniz. Hedeflediğiniz dala sağ tıklayın ve Geçerli Dal ile Karşılaştır'ı seçin. Alternatif olarak, aynı komuta erişmek için Git Deposu penceresindeki dal listesini kullanabilirsiniz.

Dalların karşılaştırma giriş noktalarını gösteren animasyon.

Geçerli Dal ile Karşılaştır'ın seçilmesi, Değişiklikler listesinde gezinebileceğiniz ve karşılaştırmak istediğiniz dosyayı seçebileceğiniz dalları karşılaştırma deneyimini açar.

Fark görünümünü kullanarak dalları karşılaştırmayı gösteren ekran görüntüsü.

Fark görünümünü kullanarak dalları karşılaştırmayı gösteren ekran görüntüsü.

İpucu

Satır içi fark tercih ederseniz, Diff Yapılandırma Seçenekleri dişli simgesini kullanabilir ve satır içi fark görünümüne geçebilirsiniz. Kullanabileceğiniz Fark Yapılandırma Seçeneklerini gösteren ekran görüntüsü.

Taahhütleri kontrol etme

Bir commit’i kontrol etmek çeşitli şekillerde fayda sağlayabilir. Örneğin, deponuzun geçmişinde kodunuzu çalıştırabileceğiniz veya test ettiğiniz önceki bir noktaya geri dönmenizi sağlar. Uzak bir daldan (örneğin iş arkadaşınızın dalı) kodu gözden geçirmek isterseniz de yararlı olabilir. Bu şekilde, katkıda bulunmayı planlamıyorsanız yerel bir dal oluşturmanız gerekmez. Bu durumda, incelemek istediğiniz uzak dalın ucunu kontrol edebilirsiniz.

Git checkout commit sürecini gösteren diyagram.

Visual Studio'da önceki bir işlemeyi kullanıma almak için Git Deposu penceresini açın, geri dönmek istediğiniz işlemeye sağ tıklayın ve kullanıma alma (–ayırma) seçeneğini belirleyin. Visual Studio, bir commit'i check-out yaparak detached HEAD durumuna geçeceğinizi açıklayan bir onay iletişim kutusu gösterir. Başka bir deyişle, deponuzun HEAD'i dal yerine doğrudan bir commit'e işaret edecektir.

Kullanıma alma işleme giriş noktalarını gösteren animasyon.

Artık ayrılmış bir baş durumunda olduğunuz için, kodunuzu çalıştırıp test etmek, hatta değişiklikleri keşfetmek ve işlemekte serbestsiniz. Araştırmayı bitirdiğinizde ve dalınıza geri dönmek istediğinizde, var olan bir dalı kullanıma alarak değişikliklerinizi atabilir veya önce yeni bir dal oluşturarak değişikliklerinizi korumayı seçebilirsiniz.

Önemli

Ayrılmış bir baş durumunda oluşturulan işlemeler herhangi bir dalla ilişkilendirilmemiştir ve bir dalı kullanıma aldıktan sonra Git tarafından toplanan çöpler olabilir. Bu nedenle değişikliklerinizi korumanız için, bir dalı kullanıma almadan önce yeni bir dal oluşturmanız önerilir. Örneğin, yeni bir dal oluşturmadan Main dalına geçersek, C5 ve C6 commit'leri çöp olarak toplanır. Git'teki ayrılmış baş işlemelerini gösteren diyagram.

Ayrılmış baş durumu hakkında daha fazla bilgi edinmek için Ayrılmış Baş Git belgelerine bakın.

Bir çekme isteğini hızla gözden geçirmek ve en son güncelleştirmeleri değerlendirmek istiyorsanız uzak dalın ipucunu gözden geçirmek yararlı olabilir. Bunu Visual Studio'da yapmak için önce uzak deponuzdan en son güncellemeleri aldığınızdan emin olun. Ardından gözden geçirmek istediğiniz uzak dala sağ tıklayın ve Tip Commit'ye Geçiş Yap'ı seçin.

Kullanıma Alma İpucu İşleme seçeneğini gösteren ekran görüntüsü.

Git Blame ile satır satır değişiklik geçmişini görüntüleme

Git Blame, bir dosyadaki her kod satırını en son kimin değiştireceğini ve değişikliğin ne zaman ve neden yapıldığını gösterir. Bu özellik, belirli kod değişikliklerinin geçmişini ve bağlamını anlamanız, bir hatanın kaynağını izlemeniz veya belirli bir uygulamanın yazarını tanımlamanız gerektiğinde kullanışlıdır.

Git Blame ek açıklamalarına erişme

Git Blame ek açıklamalarını doğrudan kod düzenleyicisinden veya Çözüm Gezgini görüntüleyebilirsiniz.

Kod düzenleyicisinden:

  1. Düzenleyicide bir dosya açın.
  2. Kod düzenleyicisinde herhangi bir yere sağ tıklayın.
  3. Git>Blame (Annotate) öğesini seçin.

Çözüm Gezgini öğesinden:

  1. Çözüm Gezgini'da bir dosyaya sağ tıklayın.
  2. Git>Blame (Annotate) öğesini seçin.

Blame açıklamaları, düzenleyicinin sol kenar boşluğunda yer alır ve yazar adını, commit tarihini ve commit bağlantısını gösterir. Dosya düzenleyicide açılır ve Blame ek açıklamaları görünür durumdadır.

Blame açıklamalarından commit ayrıntılarını inceleyin

Düzenleyicide Blame ek açıklamaları görünür olduğunda, daha fazla bilgi almak için bunlarla etkileşim kurabilirsiniz:

  • Ayrıntıları görüntüle için işlemeye tıklayın: bu işlemede değiştirilen tüm dosyaları görebileceğiniz ve geçerli sürümü önceki sürümle karşılaştırmak gibi ek seçeneklere erişebileceğiniz tam işlemeyi görüntüleyebilirsiniz.

İpucu

Git Blame en çok beklenmeyen davranışı anlamak veya belirli bir değişikliğin neden yapıldığını izlemek için yararlıdır.

Git Blame kullanılamıyorsa

Git Blame yalnızca Git deponuza kaydedilmiş izlenen dosyalar için kullanılabilir. Git>Blame seçeneği görünmüyorsa, yaygın nedenler ve çözümler için aşağıdaki tabloya bakın.

Senaryo Solution
Dosya izlenmiyor Git Değişiklikleri penceresini denetleyin. Dosya İzlenmeyen Dosyalar altında görünüyorsa önce dosyayı hazırlayın ve işleyin.
Dosya .gitignore dosyasında Dosyayı .gitignore konumundan kaldırın, depoya ekleyin ve commit edin.
İkili dosya Blame yalnızca kaynak kodu (, .cs, ), yapılandırma dosyaları (.js, ) ve belgeler (.py.json, .xml.md) gibi metin dosyalarıyla .txtçalışır. İkili dosyalar (.dll, .exe, görüntüler) için bunun yerine Git>Görünüm Geçmişi'ni kullanın.
Commit geçmişi yok Dosyayı içeren en az bir işleme yapın.
Ayrılmış HEAD durumu Durum çubuğunu denetleyin. Ayrılmışsa Git Deposu penceresinden bir dalı kullanıma alın. Bkz. commit'leri checkout etme.
Çok büyük dosya Performans için, Son derece büyük dosyalarda Blame devre dışı bırakılabilir. Bunun yerine Git>Görünüm Geçmişi'ni kullanın.

Tüm senaryolar için alternatif: Dosyayı değiştiren tüm işlemeleri görmek için dosyaya sağ tıklayın ve Git>Görünüm Geçmişi'ni seçin.