Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Visual Studio 2019 | Visual Studio 2022
Git, depodaki değişikliklerin geçmişini izlemek için üst bağlantılar, yazar ayrıntıları ve zaman damgaları gibi işleme meta verilerini kullanır. Dosyaların ne zaman değiştirildiğini, kimlerin değiştirildiğini ve hangi değişikliklerin yapıldığını öğrenmek için Git geçmişini gözden geçirebilirsiniz.
Kişiler özellik dallarını oluşturup çekme istekleri kullanarak bir hedef dalda birleştirdiğinde, hedef dalın geliştirme geçmişi düz kronolojik bir çizgi olmayabilir. Bu nedenle, hedef daldaki bir dosyada yapılan değişikliklerin geçmişini gözden geçirirken, işleme sırasının yalnızca değişikliklerin özgün tarihinden değil birleştirme stratejisinden ve birleştirme tarihinden etkilendiğini unutmayın. Örneğin, main dalındaki en son işleme, yalnızca main dalına üç yönlü birleştirme ile yeni aktarılan bir özellik dalında haftalar önce yapılmış bir değişikliği içerebilir.
Visual Studio 2022'yi Git ile kullanmayı öğrenmek için bkz. Visual Studio, Git ile sürüm denetimini nasıl kolaylaştırır?
Önkoşullar
| Kategori |
Gereksinimler |
| Proje erişimi |
Bir projenin üyesi. |
| İzinler |
- Özel projelerde kodu görüntüleme: En azından Temel erişim. - Özel projelerde kod kopyalama veya koda katkıda bulunma: Katkıda Bulunanlar güvenlik grubunun üyesi veya projedeki ilgili izinler. - Dal veya depo izinlerini ayarlama: İzinleri yönetme , dal veya depo izinleridir. - Varsayılan dalı değiştir: İlkeleri düzenleme işlemi, depoya ilişkin izinleri belirler. - Bir depoyu içeri aktarma: Proje Yöneticileri güvenlik grubunun üyesi veya Git proje düzeyinde Depo oluşturma izni İzin Ver olarak ayarlanır. Daha fazla bilgi için bkz . Git deposu izinlerini ayarlama. |
| Hizmetler |
Depolar etkinleştirildi. |
| Tools |
Optional. Komutları kullanın az repos : Azure DevOps CLI. |
Uyarı
Ortak projelerde Paydaş erişimi olan kullanıcılar, kodu görüntüleme, kopyalama ve koda katkıda bulunma dahil olmak üzere Azure Depolarına tam erişime sahiptir.
| Kategori |
Gereksinimler |
| Proje erişimi |
Bir projenin üyesi. |
| İzinler |
- Kodu görüntüle: En azından Temel erişim. - Kodu kopyalama veya koda katkıda bulunma: Katkıda Bulunanlar güvenlik grubunun üyesi veya projedeki ilgili izinler. |
| Hizmetler |
Depolar etkinleştirildi. |
Dosya sürümlerini karşılaştırma
Belirli bir dosya değişikliğinin nasıl ve ne zaman gerçekleştiğini bulmak istediğinizde, büyük olasılıkla farklı dallardaki farklı işlemelerden aynı dosyanın farklı sürümlerini karşılaştırmanız gerekebilir.
Azure DevOps ekip projesi sitesi, aynı daldaki işlemelerden aynı dosyanın iki sürümünü karşılaştırmanıza olanak tanır, ancak dallar arasında dosya sürümlerini karşılaştırmayı desteklemez.
Web tarayıcınızdan Azure DevOps kuruluşunuz için ekip projesini açın.
Depo > Dosyaları görünümünde bir dosya seçin ve Karşılaştır sekmesini seçin.
Karşılaştır sekmesinde, karşılaştırmak istediğiniz dosya sürümlerini içeren iki işlemeyi seçin. Fark görünümü yeni, silinmiş veya değiştirilmiş dosya satırlarını gösterir.
Uyarı
GitHub, farklı dallardaki farklı işlemelerden aynı dosyanın iki sürümünü karşılaştırmanıza olanak tanır. Karşılaştırma yapmak için GitHub depo URL'nize /compare/<commit1>..<commit2> ekleyerek karşılaştırma sayfasına yönlendirilirsiniz. Karşılaştırma sayfası, farklı olan her dosyanın fark görünümünü içerir. GitHub'da işleme karşılaştırması hakkında daha fazla bilgi için bkz. İşlemeleri karşılaştırma.
Visual Studio 2022, Git menüsünü, Git Değişikliklerini ve Çözüm Gezgini'ndeki bağlam menülerini kullanarak bir Git sürüm denetimi deneyimi sağlar. Visual Studio 2019 sürüm 16.8, Takım Gezgini Git kullanıcı arabirimini de sunar. Daha fazla bilgi için Visual Studio 2019 - Takım Gezgini sekmesine bakın.
Visual Studio, aynı daldaki aynı dosyanın iki sürümünü karşılaştırmanıza olanak tanır, ancak dallar arasında dosya sürümlerini karşılaştırmayı desteklemez.
Çözüm Gezgini'nde bir dosya seçin ve dosyanın bağlam menüsünde Git Görünüm Geçmişi'ni seçerek > seçili dosyanın Git Geçmişi sekmesini açın.
Git Geçmişi sekmesinde, bir işlemenin bağlam menüsünden Öncekiyle Karşılaştır'ı seçerek seçilen işlemeyi önceki işlemeyle karşılaştıran bir Fark sekmesi açın.
Alternatif olarak, iki işlemeyi seçin ve iki işlemenin bağlam menüsünden Karşılaştır'ı seçerek seçilen iki işlemeyi karşılaştıran bir Fark sekmesi açın.
Fark sekmesi yeni, silinmiş veya değiştirilmiş dosya satırlarını gösterir.
Takım Gezgini bu özellik için destek sağlamaz.
git diff komutu, farklı dallardaki farklı işlemelerden aynı dosyanın farklı sürümlerini karşılaştırabilir.
Git günlüğü komutu, karşılaştırmak istediğiniz dosya sürümlerini içeren işlemeleri belirlemenize yardımcı olabilir.
Dosyayı değiştiren işlemeleri listelemek için bir dosya kullanın git log ve belirtin:
git log <file>
Varsayılan olarak, komut çıktısı geçerli daldaki en son commit ile başlar ve her commit'in meta verilerindeki üst bağlantıları izleyerek (daldan bağımsız olarak) geçmişe doğru adım adım ilerler.
İşte komut için bir çıktı örneği: git log index.html
commit bbc3b679197b659544a6f8070c79fb535b496613
Date: Thu Jun 30 13:42:50 2021 -0400
update landing page
commit e5402fe710c25eca1b96a4e238eee9c01ed41c6a
Date: Thu Jun 30 13:42:23 2021 -0400
initial commit
git diff kullanarak bir dosya ve iki komiti belirtin ve kaydedilmiş dosya sürümlerinin nasıl farklılık gösterdiğini görün.
git diff <commit1> <commit2> <file>
Komut için bir çıktı örneği aşağıda verilmiştir git diff bbc3b67 e5402fe index.html:
- <link rel="stylesheet" href="app.cs"/>
+ <link rel="stylesheet" href="fabrikam.cs"/>
Çıktıda bir satırın silindiği ve bir satırın eklendiği gösterilir.
Git günlüğü çıkışını sınırla
Listeleyengit log işlemeleri sınırlamak için yazara, tarihe, iletiye, değiştirilen içeriğe ve daha fazlasına göre filtre uygulayabilirsiniz. Örneğin:
git log --author=frank@fabrikam.com index.html yalnızca belirtilen yazarın işlemelerini listeler.
git log --since="2022-5-1" yalnızca belirtilen tarihten sonra oluşturulan işlemeleri listeler.
git log --before="yesterday" yalnızca belirtilen göreli tarihten önce oluşturulan işlemeleri listeler.
git log --grep="css change" yalnızca iletilerinde belirtilen metinle işlemeleri listeler.
git log -S"myVariable" yalnızca belirtilen dizeyi tanıtır veya kaldırır işlemeleri listeler.
git log -G"myVar.*" yalnızca belirtilen regex dizesini tanıtır veya kaldırır işlemeleri listeler.
git log -3 yalnızca son üç işlemeyi listeler.
İşleme listesi için çeşitli biçim seçenekleriniz vardır. Örneğin:
git log --abbrev-commit kısaltılmış kimlik (SHA-1 sağlama toplamı) kullanarak işlemeleri listeler.
git log --oneline her işlemeyi tek satırlı kısaltılmış biçimde listeler.
git log --patch index.html her taahhüdü, değişikliklerin farklılıklarıyla birlikte listeler.
Dosyaları geri yükleme
Dosya daha sonraki bir işlemede düzenlenmiş, silinmiş veya yeniden adlandırılmış olsa bile Git geçmişinden dosyanın belirli bir sürümünü geri yükleyebilirsiniz. Dosyanın eski bir sürümünü geri yüklemek, değişiklikle yeni bir işleme oluşturmaz. Dalınızı geri yüklenen dosya sürümüyle güncelleştirmek için değişikliği işlemeniz gerekir.
Azure DevOps ekip projesi sitesi, belirli bir işleme tarafından yapılan tüm değişiklikleri geri almanızı sağlar, ancak değişiklikleri işleme içindeki belirli bir dosyaya geri döndürmeyi desteklemez.
Visual Studio, aynı daldaki aynı dosyanın iki sürümünü karşılaştırmanıza olanak tanır, ancak dallar arasında dosya sürümlerini karşılaştırmayı desteklemez.
Çözüm Gezgini'nde bir dosya seçin ve dosyanın bağlam menüsünde Git Görünüm Geçmişi'ni seçerek > seçili dosyanın Git Geçmişi sekmesini açın.
Git Geçmişi sekmesinde, bir işlemenin bağlam menüsünden Öncekiyle Karşılaştır'ı seçerek seçilen işlemeyi önceki işlemeyle karşılaştıran bir Fark sekmesi açın.
Alternatif olarak, iki işlemeyi seçin ve iki işlemenin bağlam menüsünden Karşılaştır'ı seçerek seçilen iki işlemeyi karşılaştıran bir Fark sekmesi açın.
Fark sekmesi yeni, silinmiş veya değiştirilmiş dosya satırlarını gösterir.
Visual Studio 2019 sürüm 16.8 ve sonraki sürümleri , Takım Gezgini Git kullanıcı arabirimini korurken bir Git sürüm denetimi deneyimi sağlar.
Takım Gezgini'ni kullanmak için, menü çubuğundan Araçlar>Seçenekler>Önizleme Özellikleri>Yeni Git kullanıcı deneyimi'nin işaretini kaldırın.
Çözüm Gezgini'nde bir dosya seçin ve dosyanın bağlam menüsünden Git > Görünüm Geçmişi'ni seçerek seçili dosyanın Git Geçmişi sekmesini açın.
Git Geçmişi sekmesinde bir işleme seçin ve işlemenin bağlam menüsünden İşleme Ayrıntılarını Görüntüle'yi seçerek İşleme Ayrıntıları görünümünü açın.
İşleme Ayrıntıları görünümünde dosyayı seçin ve dosyanın bağlam menüsünden Aç'ı seçerek dosyanın önceki sürümünü yeni bir sekmede açın.
Dosyanın geri yüklenen sürümünü kaydetmek için menü çubuğundan Dosya > Farklı Kaydet'i seçin.
Git geçmişinden bir dosyanın belirli bir sürümünü geri yüklemek için git kullanıma alma veya git gösterme komutlarını kullanabilirsiniz.
git checkout, bir dosyayı ve commit'i belirtirseniz, dosyayı daha önce kaydedilmiş bir sürüme döndürür:
git checkout <commit> <file>
Örneğin, git checkout 85435fac src/app.ts dosyasını commit src/app.tsiçindeki sürümüne geri döndürecektir85435fac.
git show , daha önce kaydedilmiş bir dosya sürümünün içeriğini yazdırır ve çıkış dosyasına yeniden yönlendirebilirsiniz:
git show <commit>:<file> > <output file>
Örneğin, git show 85435fac:src/app.ts > /archive/oldapp.ts, 85435fac adlı commit içindeki app.ts içeriğini /archive/oldapp.ts'a yazar.
Dalları karşılaştırma
Birleştirme veya yeniden temel alma işleminden kaynaklanan değişiklikleri gözden geçirmek için tüm yerel veya uzak dalları karşılaştırabilirsiniz. Dal karşılaştırması, birleştirme çakışmalarını denetlemenize ve başkalarının yaptığı değişikliklerin çalışmanızı nasıl etkileyebileceğini görmenize olanak tanır.
Visual Studio 2019 ve önceki sürümler dal karşılaştırmasını desteklemez; dolayısıyla bu sürümlerden birini kullanıyorsanız, deponuz Azure Repos'ta veya GitHub'da barındırılıyorsa Git komut satırındaki dalları karşılaştırabilir veya web tarayıcınızı kullanabilirsiniz. Visual Studio 2022, Dalları karşılaştırma bölümünde açıklandığı gibi dal karşılaştırmayı destekler.
Web tarayıcınızdan Azure DevOps kuruluşunuz için ekip projesini açın.
Depo > Dalları görünümünde, herhangi bir dalın üç nokta simgesini seçin ve Dalları karşılaştır'ı seçerek Dal Karşılaştırma görünümünü açın.
Dal karşılaştırma görünümünde karşılaştırmak istediğiniz iki dalı seçin. Değiştirilen her dosyadaki yeni, silinmiş veya değiştirilmiş satırların fark görünümü için Dosyalar sekmesini seçin.
Uyarı
GitHub dal karşılaştırmayı destekler. İki dalı karşılaştırmak için GitHub deponuzun URL'sine /compare/<branch1>...<branch2> ekleyin ve karşılaştırma sayfasına gidin. Karşılaştırma sayfası, farklı olan her dosyanın fark görünümünü içerir. GitHub'da dal karşılaştırması hakkında daha fazla bilgi için bkz. Dalları karşılaştırma.
Bir dalı geçerli dalla karşılaştırmak için, deponuzun Dallar bölmesinde bir dala sağ tıklayın ve karşılaştır seçeneğini belirleyin. Bağlam menüsü geçerli ve hedef dalların adlarını belirtir:
Visual Studio 2019 dal karşılaştırmayı desteklemez. Ancak, deponuz Azure Repos veya GitHub'da barındırılıyorsa Git komut satırındaki dalları karşılaştırabilir veya web tarayıcınızı kullanabilirsiniz.
Tip
Web Portalı'nı seçerek Ekip Gezgini Girişgörünümünden web portalına erişebilirsiniz.
İki yerel veya uzak dalı karşılaştırmak için, dal adlarını belirten Git diff komutunu kullanabilirsiniz:
git diff <branch1> <branch2>
Git, bir dalın ucundaki işlemeyi diğerinin ucundaki işlemeyle karşılaştırır. Fark çıktısı, iki dal arasındaki her dosyanın silmelerini ve eklemelerini gösterir.
Aşağıda, yerel bir dalı uzak dal ile karşılaştıran komutu git diff users/frank/feature origin/mainiçin bir çıktı örneği verilmiştir:
index 36843b8..03afc4b 100644
--- a/tsapp/index.html
+++ b/tsapp/index.html
@@ -4,7 +4,7 @@
<head>
<meta charset="utf-8" />
<title>TypeScript HTML App</title>
- <link rel="stylesheet" href="fabrikam-test.css" type="text/css" />
+ <link rel="stylesheet" href="fabrikam.css" type="text/css" />
<script src="app.js"></script>
</head>
...
--- a/tsapp/app.ts
+++ b/tsapp/app.ts
constructor(element: HTMLElement) {
this.element = element;
- this.element.innerHTML += "The time is: ";
+ this.element.innerHTML += "The time is now: ";
this.span = document.createElement('span');
this.element.appendChild(this.span);
this.span.innerText = new Date().toUTCString();
Belirli bir dosyayla karşılaştırmayı daraltmak için komutunda diff dosyayı belirtin:
git diff <branch1> <branch2> <file>
Örneğin, git diff users/frank/feature origin/main index.html yalnızca index.html dosyası için bir fark oluşturur.
Sonraki Adımlar
İlgili makaleler