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

Azure Repos | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 | TFS 2017 | TFS 2015 | VS 2017 | VS 2015 | VS 2013

Yazılım projenizin büyük veya küçük olup olmadığı 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 denetimi sistemini kullanmalıyım?

Git, yeni projeler için varsayılan sürüm denetimi sağlayıcıdır. TFVC 'de merkezi sürüm denetimi özelliklerine özel bir ihtiyacınız yoksa, projelerinizdeki sürüm denetimi için git kullanmanız gerekir.

TFVC depoları aynı projede Git ile birlikte kullanarak, merkezi sürüm denetimine ihtiyacınız varsa TFVC 'yi daha sonra eklemek kolaydır. Varolan 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ştiricinin geliştirme makinesinde kaynak deponun bir kopyası vardır. Geliştiriciler, her değişiklik kümesini geliştirme makinesine kaydedebilir ve geçmiş ve karşılaştırma gibi sürüm denetim işlemlerini bir ağ bağlantısı olmadan gerçekleştirebilir. Dallar hafif. Bağlamlara geçmeniz gerektiğinde özel bir yerel dal oluşturabilirsiniz. Kod tabanınızın farklı çeşitleri arasında bir daldan diğerine hızlıca geçiş yapabilirsiniz. Daha sonra, dalı birleştirebilir, yayımlayabilir veya atabilirsiniz.

Not

Visual Studio, Azure DevOps Services ve TFS 'deki git standart git ' dir. Visual Studio 'Yu üçüncü taraf Git hizmetleriyle kullanabilir ve TFS ile üçüncü taraf Git istemcilerini de kullanabilirsiniz.

Daha fazla bilgi için bkz. Git ve Azure Repos.

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ışı modelivardır:

  • Sunucu çalışma alanları -değişiklik yapmadan önce, ekip üyeleri dosyaları herkese açık kullanıma alma. Çoğu işlem geliştiricilerin sunucuya bağlanmasını gerektirir. Bu sistem, iş akışlarını kilitlemeyi kolaylaştırır. Bu şekilde çalışan diğer sistemler arasında Visual Source Safe, Perforce ve CVS vardır. Sunucu çalışma alanlarıyla, dal ve büyük ikili dosyalar için milyonlarca dosya ile çok büyük kod tabanlarının ölçeğini izleyebilirsiniz.

  • Yerel çalışma alanları -her takım üyesi, kod tabanının en son sürümünün bir kopyasını alır ve gerektiğinde çevrimdışı olarak kullanılabilir. Geliştiriciler değişikliklerini iade edip gerektiğinde çakışmaları çözer. Bu şekilde kullanılan başka bir sistem de alt sürümdür.

Daha fazla bilgi için bkz. TFVC 'ye genel bakış

TFVC 'den git 'e geçme

TFVC depolarınız varsa, Git-TFS aracınıkullanarak bunları git deposuna geçirebilirsiniz. Araç, bir TFVC deposunu yalnızca birkaç komut içinde git deposuna geçirmenize olanak sağlar.

Git ve TFVC özellikleri

Seçim yapmak için daha fazla yardıma mı ihtiyacınız var? Bu grafikler yardımcı olabilirler.

Özellik TFVC Git
Değişiklikler

Ekip üyeleri, geliştirme makinelerindeki dosyaları eşzamanlı olarak değiştirebilir. Oluşturduğunuz zaman değişiklik kümelerini sunucuya yüklersiniz (iade etme) . İstediğiniz zaman değişikliklerinizi karşıya yükleyebilirsiniz. Ancak, Çakışmalartarafından kesintiye uğramış olabilirsiniz.

Bir değişiklik kümesinin yorumunu, iade ettikten sonra değiştirebilirsiniz. Değişiklik kümelerini iş öğelerine bağlayabilir ve bunları tamamlanmış yapılarla ilişkilendirebilirsiniz.

Ekip üyeleri, geliştirme makinelerindeki dosyaları eşzamanlı olarak değiştirebilir. Geliştirme makineli yürütmeleri, takıma katkıda bulunmadan bağımsız olarak oluşturursunuz. Yeniden başlamaya', kendi sunucuya yüklemeden önce en son yürütmeleri çekmeniz gerekir. Çektiğinizde çakışmalar tarafından kesintiye uğratılmanız gerekebilir.

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

Yerel işlemeleri komut isteminden değiştirebilir ve birleştirebilirsiniz.

Dallara ayırma

Yol tabanlı dallar, çoğunlukla özellik takımları ve yayınlar arasındaki değişikliğin riskini yalıtmak için uzun süreli yapılar olarak kullanılır. Ekip üyeleri genellikle üzerinde çalıştıkları her dal için ek 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'. Eşdüzey dallar arasında birleştirme için tabansız birleştirmesi gerekir.

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

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

Dallandırma hafif ve yola bağımsızdır. Birçok geliştirici, kodtıkları her yeni özellik için, bazen günlük olarak bir dal oluşturur. Kod tabanınızın farklı çeşitleri arasında bir daldan diğerine hızlıca geçiş yapabilirsiniz. Yalnızca geliştirme makinenizde bulunan dallar oluşturabilir ve bunları'yeniden hazırsanız paylaşabilirsiniz.

Dalları değiştirmeden önce değişiklikleri yürütmeli, Dallandırın veya geri almalısınız. Birleştirme basit ve dalın temel aldığı işlemeden bağımsızdır.

Hangi dallarda hangi yürütmelerin mevcut olduğunu görmek için dalları karşılaştırabilirsiniz.

Bkz. bağlam değiştirmek, işi askıya almak ve riski yalıtmak Için git dallarını kullanma.

Çakışma çözümü Alma, iade etme, birleştirme veya raftan alma sırasında çakışmaları çözmeniz gerekebilir. Visual Studio 'daki tüm çakışma türlerini çözebilirsiniz. Çekme veya birleştirme yaptığınızda ç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. Ayrıca, bir alternatif olarak NuGet kullanmak isteyebilirsiniz. Küçük ikili dosyaları düzenli dosyalar gibi iade edebilirsiniz. Büyük ikili dosyalarla çalışırken, büyük ikili dosyalarınızı Azure Repos depolamak için Git-LFS ' i kullanın.
Geçmiş Dosya Geçmişi, istemci geliştirme makinesinde çoğaltılmaz ve bu nedenle yalnızca sunucuya'yeniden bağlandığınızda görüntülenebiliyor. Geçmişi, Visual Studio 'da ve web portalında görüntüleyebilirsiniz . Bir satırı kimin değiştiğini ve ne zaman değiştiğ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 değiştiğini ve ne zaman değiştiğini görmek için dosyalara açıklama ekleyebilirsiniz.
Dosyalarınızı etiketleme Visual Studio 'dan veya komut isteminden bir veya daha fazla dosyanın bir sürümüne Etiketler uygulayabilirsiniz . Her dosyanın farklı bir sürüme uygulanmış etiketi olabilir. Komut isteminden tek tek yürütmelere Etiketler 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 yürütmeyi 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ıkullanan büyük ölçekte (dal başına milyonlarca dosya ve büyük ikili dosyalar) projeleri destekler. Küçük projeleri hızla başlatabilirsiniz. Çok büyük projelere kadar ölçeklendirebilirsiniz, ancak kod tabanınızı modüle de ayarlamanız gerekir. Bir projede birden çok depo oluşturabilirsiniz.

Sunucu

Özellik TFVC Git
Sunucu Azure DevOps Services, TFS Azure DevOps Services, TFS ve git üçüncü taraf hizmetleri
Uyarılar Takım üyeleri, iadeler gerçekleştiğinde e-posta uyarıları alabilir. Ekip üyeleri, sunucuya işlemeler gönderildiğinde e-posta uyarıları alabilir.
Denetlenebilirlik Takımınız tüm çalışmalarını merkezi bir sisteme iade ettiğinden, hangi kullanıcının bir değişiklik kümesi iade ettiğini tanımlayabilir ve ne değiştiğini görmek için Karşılaştır ' ı kullanabilirsiniz. Bir dosyaya bakarak, bir kod bloğunu kimin ve ne zaman değiştirdikleri belirlemek için Not ekleyebilirsiniz. Hangi kullanıcının bir yürütmeyi itiltiğini belirleyebilirsiniz. (Herkes yazar veya komite olarak herhangi bir kimlik talep edebilir.) Değişikliklerin ne zaman yapıldığını ve geçmişi, karşılaştırma ve not ekleme ile nelerin değiştirildiğini belirleyebilirsiniz.
Derlemeler (TFBuild tarafından otomatikleştirilen) Tüm TFBuild yeteneklerini, proje koleksiyonu içinde istediğiniz içerik birleşimini oluşturmak için kullanabilirsiniz. Tek seferde bir proje ve bir ya da daha fazla depo oluşturmak için aynı anda bir proje oluşturmak üzere çoğu TFBuild özelliği kullanabilirsiniz.
Kod incelemeleri Yes DevOps geliştiricisinin ömründe güne bakın: Işi askıya alma, bir hatayı çözme ve kod incelemesi yürütme. Daha basit tartışmalar için, Web portalından bir değişiklik kümesi hakkında yorum yapabilir ve e-posta gönderebilirsiniz. Yes bkz. çekme Isteği yürütme. Daha basit tartışmalar için, Web portalından bir kayıt 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). Dosya düzeyinde izinler uygulayabilirsiniz . Dosyaları kilitleyebilir.

Dosyalarınıza web portalında ve Kaynak Denetim Gezgini kullanarak Visual Studio 'da gözatabilmeniz gerekir.

Projeniz yalnızca bir sunucuda bulunuyor.

Her proje bir veya daha fazla git deposu içerebilir ve her bir git deposu bir veya daha fazla dal içerebilir. Uygulayabileceğiniz en ayrıntılı izinler bir depoya veya dala yönelik olabilir. Dosyalar kilitlenemiyor.

Web portalında dosyalarınıza gözatabilmeniz gerekir.

Yürütmeleri birden fazla uzak depoya (örneğin, hem proje deponuza hem de Windows Azure üzerinde barındırılan Web sitenize gönderebilirsiniz.

Kalite kapıları CI derlemelerini, geçişli iade yapılarını ve iade ilkelerini kullanabilirsiniz. Dal ilkeleriaracılığıyla CI derlemelerini ve geçitli iade yapılarını kullanabilirsiniz.

İstemci

Özellik TFVC Git
İstemci yazılımı Visual Studio, tutulma ( Team Explorer Everywhereile) Visual Studio, tutulma ve diğer üçüncü taraf araçları
Dosyalar Visual Studio 'da Kaynak Denetim Gezgini veya Windows Dosya Gezgini 'ni veya komut istemi'ni kullanarak dosyalarınıza gözatabilmeniz gerekir. Dosyalarınıza Windows Dosya Gezgini 'ni veya komut satırını kullanarak gidebilirsiniz.
Geliştirme makinenizde iş yönetme Bekleyen değişiklikler ve çalışma Sayfalarım . Değişiklikler, işlemeler ve dallar sayfaları.
Çalışmanızı askıya alın Çalışma sayfamı askıya alabilir veya değişikliklerinizi rafakaldırabilirsiniz. İçinden (Visual Studio veya komut isteminden) veya hazırlama (komut isteminden) bir dal oluşturabilirsiniz.
Kullanıcı arabirimi
  • Visual Studio: Yaygın olarak kullanılan tüm özellikleri ve birçok gelişmiş özelliği sunar.
  • TFS Web Portalı: Kod temelinin geçmişine gözatabilir, yorum yapabilir, açıklama ekleyebilir ve geçmişi görebilir.
  • Tf komut istemi: Visual Studio ile birlikte yüklenir. Gelişmiş, yönetim ve diğer daha az ortak görev için kullanılır.
  • Visual Studio: Yaygın olarak kullanılan çok sayıda özelliği sunar. Bazı ortak görevlerin özellikleri henüz kullanılamamaktadır.
  • TFS Web Portalı: Kod temelinin geçmişine gözatabilir, yorum yapabilir, açıklama ekleyebilir ve geçmişi görebilir.
  • Üçüncü taraf komut istemi: Visual Studio 'dan yükleyebilirsiniz. Bazı ortak ve birçok daha az ortak görev için kullanılır.
Visual Studio uyumluluğu Visual Studio 'nuntüm desteklenen sürümlerini kullanabilirsiniz.

Git, Visual Studio 2017, 2015 ve 2013 ile oluşturulmuştur.

Visual Studio 2012 güncelleştirme 4 ' ü de kullanabilirsiniz (Ayrıca Git için Visual Studio Araçlarıde yüklemelisiniz).

Web portalı Kod tabanınıza (dallar dahil) gözatabilir, geçmişi görüntüleyebilir, değişiklik kümelerine ve raf kümelerine açıklama ekleyebilir ve açıklama ekleyebilir ve kod tabanınızın seçili parçalarını bir. zip dosyası olarak ad hoc indirme gibi diğer görevleri gerçekleştirebilirsiniz. Kod tabanınıza gözatabilir, geçmişi görüntüleyebilir, dalları karşılaştırabilir, yürütmelere açıklama ekleyebilir ve açıklama ekleyebilir ve kod tabanınızın seçili parçalarını bir. zip dosyası olarak ad hoc indirme gibi diğer görevleri gerçekleştirebilirsiniz.

Tümleştirme ve geçiş

Özellik TFVC Git
Geçiş yolu Git-TFS Git-TFS