Projeniz için doğru sürüm denetimini seçme

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Yazılım projenizin büyük veya küçük olması fark etmeksizin, en kısa sürede sürüm denetimini kullanmak iyi bir fikirdir. Azure Repos iki tür sürüm denetimini destekler: Git ve Team Foundation Sürüm Denetimi (TFVC).

Hangi sürüm denetim sistemini kullanmalıyım?

Git, yeni projeler için varsayılan sürüm denetimi sağlayıcısıdır. Projelerinizde sürüm denetimi için Git'i kullanmanız ve mevcut TFVC projelerinizi Git'e taşımaya başlamanız gerekir. TFVC, özellik tamamlandı olarak kabul edilir. Azure DevOps, TFVC ile uyumluluğu sürdürür, ancak Git gelecekteki tüm yatırımları alır.

TFVC depolarını aynı projede Git ile kullanabilirsiniz, bu nedenle merkezi sürüm denetimine ihtiyacınız varsa TFVC'yi daha sonra kolayca ekleyebilirsiniz. Mevcut bir proje için yeni bir depo türü ayarlamak için bu yönergeleri kullanın.

Git (dağıtılmış)

Git, dağıtılmış bir sürüm denetim sistemidir. Her geliştirici, geliştirme makinesinde kaynak deponun bir kopyasına sahiptir. Geliştiriciler her değişiklik kümesini geliştirme makinelerinde işleyebilir ve geçmiş gibi sürüm denetimi işlemleri gerçekleştirebilir ve ağ bağlantısı olmadan karşılaştırabilir. Dallar hafiftir. Bağlamları değiştirmeniz gerektiğinde özel bir yerel dal oluşturabilirsiniz. Kod tabanınızın farklı varyasyonları arasında özetleme yapmak için bir daldan diğerine hızlıca geçiş yapabilirsiniz. Daha sonra dalı birleştirebilir, yayımlayabilir veya atabilirsiniz.

Not

Visual Studio'da Git, Azure DevOps Services ve Azure DevOps Server standart Git'tir. Visual Studio'yu üçüncü taraf Git hizmetleriyle ve Azure DevOps Server ile üçüncü taraf Git istemcilerini de kullanabilirsiniz.

Daha fazla bilgi edinmek için bkz . Git ve Azure Depoları.

TFVC (merkezi)

Team Foundation Sürüm Denetimi (TFVC) merkezi sürüm denetim sistemidir. Genellikle, ekip üyeleri kendi geliştirme makinelerinde her dosyanın yalnızca bir sürümüne sahiptir. Geçmiş verisi yalnızca sunucuda tutulur. Dallar, yol tabanlıdır ve sunucuda oluşturulur.

TFVC'nin iki iş akışı modeli vardır:

  • Sunucu çalışma alanları - Değişiklik yapmadan önce ekip üyeleri dosyaları genel kullanıma alır. Çoğu işlem, geliştiricilerin sunucuya bağlanmasını gerektirir. Bu sistem iş akışlarının kilitlenmesini kolaylaştırır. Bu şekilde çalışan diğer sistemler Arasında Görsel Kaynak Kasa, Perforce ve CVS bulunur. Sunucu çalışma alanlarıyla, dal başına milyonlarca dosya ve büyük ikili dosyalar ile çok büyük kod tabanlarına ölçeği artırabilirsiniz.

  • Yerel çalışma alanları - Her ekip üyesi, kod tabanının en son sürümünün bir kopyasını alır ve gerektiğinde çevrimdışı çalışır. Geliştiriciler değişikliklerini denetler ve çakışmaları gerektiği gibi çözer. Bu şekilde çalışan başka bir sistem de Subversion'dır.

Daha fazla bilgi edinmek için bkz. Team Foundation Sürüm Denetimi nedir?

TFVC'den Git'e geçiş

TFVC depolarınız varsa, git-tfs aracını kullanarak bunları Git depolarına geçirebilirsiniz. Araç, TFVC deposunu yalnızca birkaç komutla Git deposuna geçirmenizi sağlar.

Git ve TFVC özellikleri

Aşağıdaki tabloda, TFVC ve Git'in sürüm denetiminin ana özelliklerini nasıl desteklediğinin bir özeti sağlanır.

Yeteneği

TFVC

Git


Değişiklikler

Ekip üyeleri, geliştirme makinelerindeki dosyaları eşzamanlı olarak değiştirebilir. Değişiklik kümelerini oluştururken sunucuya yüklersiniz (iade edin). Değişikliklerinizi istediğiniz zaman karşıya yükleyebilirsiniz. Ancak çakışmalar nedeniyle kesintiye uğrayabilirsiniz.

Bir değişiklik kümesini iade ettikten sonra açıklamasını değiştirebilirsiniz. Değişiklik kümelerini iş öğelerine bağlayabilir ve bunları tamamlanmış derlemelerle ilişkilendirebilirsiniz.

Ekip üyeleri, geliştirme makinelerindeki dosyaları eşzamanlı olarak değiştirebilir. Geliştirme makinenizde işlemeleri takıma katkıda bulunmalarından bağımsız olarak oluşturursunuz. Hazır olduğunuzda, sizinkileri sunucuya yüklemeden (göndermeden) önce en son işlemeleri çekmeniz gerekir. Çekme işlemi yaptığınızda çakışmalar kesintiye uğrayabilir.

En son yerel işlemeyi değiştirebilirsiniz. Eski işlemeleri değiştiremezsiniz. İşlemeleri iş öğelerine bağlayabilir ve bunları tamamlanmış derlemelerle ilişkilendirebilirsiniz.

Komut isteminden yerel işlemeleri değiştirebilir ve birleştirebilirsiniz.

Dallanma

Yol tabanlı dallar, özellik ekipleri ve yayınlar arasında değişiklik riskini yalıtmak için çoğunlukla uzun süreli yapılar olarak kullanılır. Ekip üyeleri genellikle çalıştıkları her dal için farklı bir çalışma alanı ayarlar.

Her daldaki değişiklikler birbirinden bağımsızdır, bu nedenle bir daldan diğerine geçmeden önce bunları iade etmek zorunda değilsiniz. Eşdüzey dallar arasında birleştirme için temelsiz birleştirme gerekir.

Dal yapılarınızın görselleştirmelerini ve değişiklik kümelerinizin birleştirildiği yerleri alabilirsiniz.

Bkz. Team Foundation Sürüm Denetimi riski yalıtmak için dalları kullanma.

Dallanma hafiftir ve yoldan bağımsızdır. Birçok geliştirici, kodladıkları her yeni özellik için bazen günlük olarak bir dal oluşturur. Kod tabanınızın farklı varyasyonları arasında özetleme yapmak için bir daldan diğerine hızlıca geçiş yapabilirsiniz. Yalnızca geliştirme makinenizde var olan dallar oluşturabilir ve hazır olduğunuzda bunları paylaşabilirsiniz.
Dalları değiştirmeden önce değişiklikleri işlemeniz, dallamanız, hazırlamanız veya geri almalısınız. Birleştirme basit ve dalın temel alındığı işlemeden bağımsızdır. Hangi dallarda hangi işlemelerin mevcut olduğunu görmek için dalları karşılaştırabilirsiniz.

Bkz . Bağlamları değiştirmek, çalışmayı askıya almak ve riski yalıtmak için Git dallarını kullanma.

Çakışma çözümü

Alma, iade etme, birleştirme veya raftan kaldırma sırasında çakışmaları çözmeniz gerekebilir. Visual Studio'daki tüm çakışma türlerini çözebilirsiniz.

Çekme veya birleştirme sırasında çakışmaları çözmeniz gerekebilir. Visual Studio'da veya komut isteminden içerik çakışmalarını çözebilirsiniz.

Dosya depolama

Büyük ikili dosyaları iade edebilirsiniz. NuGet'i birlikte veya alternatif olarak da kullanmak isteyebilirsiniz.

Küçük ikili dosyaları normal dosyalar gibi iade edebilirsiniz. Büyük ikili dosyalarla çalışırken, büyük ikili dosyalarınızı Azure Repos'ta depolamak için Git-LFS kullanın.

Geçmiş

Dosya geçmişi istemci geliştirme makinesinde çoğaltılmadığından yalnızca sunucuya bağlı olduğunuzda görüntülenebilir. Geçmişi Visual Studio'da ve web portalında görüntüleyebilirsiniz. Bir satırı kimin ve ne zaman değiştirdiğini görmek için dosyalara açıklama ekleyebilirsiniz.

Dosya geçmişi istemci geliştirme makinesinde çoğaltılır ve sunucuya bağlı olmasa bile görüntülenebilir. Geçmişi Visual Studio'da ve web portalında görüntüleyebilirsiniz. Bir satırı kimin ve ne zaman değiştirdiğini görmek için dosyalara açıklama ekleyebilirsiniz.

Dosyalarınızı etiketleme

Visual Studio'dan veya komut isteminden bir veya daha fazla dosya sürümüne etiket uygulayabilirsiniz. Her dosyanın etiketi farklı bir sürüme uygulanmış olabilir.

Etiketleri komut isteminden tek tek işlemelere uygulayabilirsiniz. Visual Studio geçmiş penceresinde etiketleri görüntüleyin.

Değişiklikleri geri alma

Bir veya daha fazla değişiklik kümesini geri alabilirsiniz

bir işlemeyi geri döndürebilirsiniz.

Ölçek

Yerel çalışma alanlarını kullanarak küçük veya çok büyük ölçekli projelerde çalışabilirsiniz. Sunucu çalışma alanlarını kullanarak büyük ölçekli (dal başına milyonlarca dosya ve büyük ikili dosyalar) projelerini destekleyin.

Küçük projelere hızlı bir şekilde başlayabilirsiniz. Ölçeği çok büyük projelere artırabilirsiniz, ancak kod tabanınızı modüler hale getirmek için önceden planlamanız gerekir. Bir projede birden çok depo oluşturabilirsiniz.

Sunucu

Aşağıdaki tabloda, sürüm denetim sistemlerinin her biri için desteklenen sunucularla kullanılabilen özellikler özetlenmektedir.

Yeteneği

TFVC

Git


Sunucu

Azure DevOps Services, Azure DevOps Server

Azure DevOps Services, Azure DevOps Server ve Git üçüncü taraf hizmetleri

Uyarılar

Ekip üyeleri, iadeler gerçekleştiğinde e-posta uyarıları alabilir.

İşlemeler sunucuya gönderildiğinde ekip üyeleri e-posta uyarıları alabilir.

Denetlenebilirlik

Ekibiniz tüm çalışmalarını merkezi bir sistemde denetlediğinden, hangi kullanıcının değişiklik kümesinde iade yaptığını belirleyebilir ve neleri değiştirdiğini görmek için karşılaştırmayı kullanabilirsiniz. Bir dosyaya bakarak, bir kod bloğunu kimin ve ne zaman değiştirdiğini belirlemek için dosyaya açıklama ekleyebilirsiniz.

İşlemeyi hangi kullanıcının gönderebileceğini belirleyebilirsiniz. (Herkes, işlemeyi yapan yazar veya kişi olarak herhangi bir kimliği talep edebilir.) Geçmiş, karşılaştırma ve açıklama ekleme kullanarak değişikliklerin ne zaman yapıldığını ve nelerin değiştirildiğini belirleyebilirsiniz.

Derlemeler (TFBuild tarafından otomatikleştirilmiş)

Proje koleksiyonunda istediğiniz içeriğin herhangi bir bileşimini oluşturmak için tüm TFBuild özelliklerini kullanabilirsiniz.

TFBuild özelliklerinin çoğunu kullanarak tek seferde bir proje ve bir kerede bir veya daha fazla depo oluşturabilirsiniz.

Kod incelemeleri

Bkz . Devops geliştiricisinin hayatındaki gün: Çalışmayı askıya alın, bir hatayı düzeltin ve kod incelemesi gerçekleştirin. Daha basit tartışmalar için, web portalından bir değişiklik kümesi hakkında yorum yapabilir ve e-posta gönderebilirsiniz.

Bkz. Çekme isteklerini gözden geçirme. Daha basit tartışmalar için web portalından işleme hakkında yorum yapabilir ve e-posta gönderebilirsiniz.

Dosyalar

Her proje tek bir kök yol altındaki tüm dosyaları içerir (örneğin: $/FabrikamTFVC). İzinleri dosya düzeyinde uygulayabilirsiniz. Dosyaları kilitleyebilirsiniz.

Web portalında ve Visual Studio'da Kaynak Denetim Gezgini'ni kullanarak dosyalarınıza göz atabilirsiniz.

Projeniz yalnızca bir sunucuda var.

Her proje bir veya daha fazla Git deposu içerebilir ve her Git deposu bir veya daha fazla dal içerebilir. Uygulayabileceğiniz en ayrıntılı izinler bir depo veya daldır. Dosyalar kilitlenemez.

Web portalında dosyalarınıza göz atabilirsiniz.

İşlemeleri birden çok uzak depoya, örneğin hem proje deponuza hem de Azure'da barındırılan web sitenize gönderebilirsiniz.

Kalite kapıları

Sürekli tümleştirme (CI) derlemeleri, geçitli iade derlemeleri ve iade ilkeleri kullanabilirsiniz.

Dal ilkeleri aracılığıyla CI derlemelerini ve geçitli iade derlemelerini kullanabilirsiniz.

İstemci

Aşağıdaki tabloda, seçtiğiniz sürüm denetim sistemine bağlı olarak sağlanan istemci tarafından desteklenen özellikler özetlenmiştir.

Yeteneği

TFVC

Git


İstemci yazılımı

Visual Studio

Visual Studio, Visual Studio Code, Eclipse ve diğer üçüncü taraf araçları

Dosyalar

Visual Studio'da Kaynak Denetim Gezgini'ni kullanarak veya Windows Dosya Gezgini veya komut istemini kullanarak dosyalarınıza göz atabilirsiniz.

Windows Dosya Gezgini veya komut istemini kullanarak dosyalarınıza göz atabilirsiniz.

Geliştirme makinenizde çalışmayı yönetme

Değişiklikler, işlemeler ve dal sayfaları.

Çalışmanızı askıya alma

Çalışmam sayfasından çalışmayı askıya alabilir veya Değişikliklerinizi Bekleyen Değişiklikler sayfasında rafa kaldırabilirsiniz. Daha fazla bilgi için bkz . Çalışmanızı askıya alma ve raf kümelerinizi yönetme.

Visual Studio'dan veya komut isteminden bir dal oluşturabilir veya komut isteminden zula oluşturabilirsiniz.

Visual Studio uyumluluğu

Visual Studio'nun desteklenen tüm sürümlerini kullanabilirsiniz.

Visual Studio'nun desteklenen tüm sürümlerini kullanabilirsiniz.

Web portalı

Kod tabanınıza (dallar dahil) göz atabilir, geçmişi görüntüleyebilir, değişiklik kümeleri ve raf kümeleri hakkında açıklama ekleyebilir ve kod tabanınızın seçili bölümlerini .zip dosyası olarak geçici olarak indirme gibi diğer görevleri gerçekleştirebilirsiniz.

Kod tabanınıza göz atabilir, geçmişi görüntüleyebilir, dalları karşılaştırabilir, işlemelere açıklama ekleyebilir ve kod tabanınızın seçili bölümlerini .zip dosyası olarak geçici olarak indirme gibi diğer görevleri gerçekleştirebilirsiniz.

Geçiş

TFVC'den Git'e nasıl geçiş yapılacağını öğrenmek için bkz . TFVC'den Git'e geçiş.