Sürüm denetimini kullanma

Yazılım projeniz büyük ya da küçük olsun, genelde projenizin hayata geçtiği andan itibaren en kısa zamanda sürüm denetimini kullanmanızı öneririz.

  • Sürüm denetimini ne zaman kullanmalıyım?

  • Hangi sürüm denetimi sistemini kullanmalıyım: TFVC veya Git?

  • TFVC ve Git arasındaki farklılıklarla ilgili ayrıntılar

Sürüm denetimini ne zaman kullanmalıyım?

Her kod projesi oluşturduğunuzda (Klavye: Ctrl + 0, N), bu projeyi sürüm denetimine ekleme seçeneğine sahipsiniz.

Yeni Proje

Kutuyu seçmeli misiniz?Kısa yanıt Evet'tir.Daha ayrıntılı yanıt, duruma bağlıdır.

Küçük projeler

Küçük bir proje üzerinde tek başınıza çalışıyor olsanız bile kişisel üretkenliğinizi artırmak ve güç sorunları gidermek için sürüm denetimini kullanabilirsiniz.

  • Hemen kodlamaya başlamak istiyorum. Şu anda paylaşmanın benim için önemli olduğundan emin değilim, ancak gelecekte olabilir.
    Kodunuzun ilk satırını yazmadan önce neredeyse sıfır maliyet ve riskle Git sürüm denetimini kullanmaya başlayabilirsiniz.Bir sorunla karşılaştığınızda iyi bilinen bir duruma geri dönmek de dahil bir çok avantajınız olur.Bunların tümü yerel geliştirme makinenizde, herhangi bir sunucu gerektirmeden yapılır.Hazır olduğunuzda, hızlı bir şekilde kodunuzu paylaşabilir ve TFS veya üçüncü taraf bir Git hizmetinde işbirliğine başlayabilirsiniz.Git'i kullanmaya başlayın.

  • Bana başkalarıyla şu anda işbirliği kolaylaştırır basit bir sistem için aranıyor.
    Fazla bir ek zaman harcamadan bir ekip projesi oluşturabilir ve Team Foundation Sürüm Denetimi'ni (TFVC) kullanmaya başlayabilirsiniz.Visual Studio Online veya bir şirket içi Team Foundation Server (TFS) kullanabilirsiniz.Team Foundation Sürüm Denetimi'ni (TFVC) kullanmaya başlayın.

Daha büyük projeler

Bir ekip ile veya karmaşık projeler üzerinde çalışıyorsanız, işbirliğini ve saydamlığı iyileştirmek için kesinlikle paylaşılan, sürüm denetimli bir dosya sisteminde çalışmalısınız.Ayrıca, tümleşik yararlanabilirsiniz yapılar otomatik, proje planlama ve izleme, ve diğer uygulama yaşam döngüsü yönetimi özellikleri TFS kullanıyorsanız (ya da şirket içi veya bulutta).

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

Yeni ekip projesi oluşturduğunuzda ekibinizin bu projede kullanacağı sürüm denetimi sistemini seçersiniz: Team Foundation Sürüm Denetimi (TFVC) ya da Git.Bu, oluşturduğunuz her ekip projesi için kalıcı bir seçim olmakla birlikte, hem TFVC hem de Git ekip projelerini aynı ekip projesi koleksiyonu içinde kullanabilirsiniz.

TFVC takım projesine bağlanma

Team Foundation Sürüm Denetimi (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 ekibinizin değişiklik yapması için iki modeli olanaklı kılar:

  • Sunucu çalışma alanları: Ekip üyeleri, değişiklik yapmadan önce dosyaları herkesin bileceği şekilde kullanıma alır.Çoğu işlem geliştiricilerin sunucuya bağlı olmasını gerektirir.(Geçmişte, ekipler birden fazla kişinin kullanıma almasını engellemişti, ancak bu artık daha seyrek bir uygulamadır.) Bu sistem iş akışlarını kilitlemenizi kolaylaştırır.Bu şekilde çalışan diğer sistemler arasında Visual Source Safe, Perforce ve CVS vardır.

  • Yerel çalışma alanları: Her ekip üyesi, kod tabanının en son sürümünün bir kopyasını yanına alır ve gerektiğinde çevrimdışı olarak çalışır.Geliştiriciler değişikliklerini iade eder ve çakışmaları gerektiği şekilde giderir.Bu şekilde çalışan diğer bir sistem de Subversion'dır.

Team Foundation Sürüm Denetimi (TFVC) hakkında daha fazla bilgi.

Git dağıtılmış sürüm denetimi (dağıtılmış)

Git dağıtılmış sürüm denetim sistemi olur.Her geliştiricinin geliştirme makinesinde kaynak deposunun tamamının bir kopyası vardır.Geliştiriciler her değişiklik kümesini geliştirme makinelerinden kaydedebilir ve geçmiş ve karşılaştırma gibi sürüm denetim işlemlerini bir ağ bağlantısı olmadan yapabilir.Dallar hafif nesnelerdir.Bağlam değiştirmeniz gerektiğinde özel bir yerel dal oluşturabilirsiniz.Kod tabanınızın farklı çeşitleri arasında pivot olması için bir daldan diğerine hızla geçebilirsiniz.Daha sonra, dalı birleştirebilir, yayımlayabilir veya atabilirsiniz.Bu şekilde çalışan diğer bir sistem de Mercurial'dır.

Önemli notÖnemli

Visual Studio'daki ve TFS'deki Git standart Git'tir.Visual Studio'yu üçüncü taraf Git hizmetleri ile kullanabilir, ayrıca üçüncü taraf Git istemcilerini TFS ile kullanabilirsiniz.

Git hakkında daha fazla bilgi edinin.

TFVC ve Git arasındaki farklılıklarla ilgili ayrıntılar

TFVC ve Git arasında bir tercih yapmanıza yardımcı olacak bir karşılaştırma grafiği aşağıda verilmiştir.

Beceri

TFVC

Git

Uyarılar

Ekip üyeleri iade etmeler olduğunda e-posta uyarıları alır.

Ekip üyeleri, sunucuya kaydetmeler itildiğinde e-posta uyarıları alır.

Denetlenebilirlik

Ekibiniz tüm çalışmasını merkezi bir sisteme teslim ettiğinden, hangi kullanıcının bir değişiklik kümesi teslim ettiğini belirleyebilir ve neleri değiştirdiğini görmek için karşılaştırmayı kullanabilirsiniz.Bir dosyaya bakarak, belirli bir kod bloğunu kimin ve ne zaman değiştirdiğini belirtmek üzere dosyaya açıklayıcı not ekleyebilirsiniz.

Hangi kullanıcının TFS'ye bir kaydetme ittiğini tanımlayabilirsiniz.(Herkes, yazar veya teslim eden olarak herhangi bir kimliği alabilir.) Değişikliklerin ne zaman yapıldığını, nelerin değiştirildiğini, geçmiş, karşılaştır ve kısa not ekle ile tanımlayabilirsiniz.

Dallandırma

Yol tabanlı dallar, çoğunlukla, özellik ekipleri ve dağıtımlar arasında değişiklik riskini izole etme amaçlı uzun süreli kurgular olarak kullanılır.Ekip üyeleri, tipik olarak, üzerinde çalıştıkları her dal için ek bir çalışma alanı kurar.

Dallardaki değişiklikler birbirilerinden bağımsız olduğundan bir daldan diğerine geçmeden önce bunları teslim etmeniz gerekmez.Kardeş dalların birleştirilmesi tabansız bir birleştirme işlemi gerektirir.

Dal yapılarınızı ve bununla birlikte değişiklik kümelerinizin birleştirildiği yeri görselleştirebilirsiniz.

Bkz. Team Foundation Sürüm Denetimi'nde riski ayırmak için dalları kullanma.

Dallandırma hafif bir işlemdir ve yoldan bağımsızdır.Geliştiricilerin çoğu kodladı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 pivot olması için bir daldan diğerine hızla geçebilirsiniz.Yalnızca kendi geliştirme makinenizde yer alan dallar oluşturabilir ve bunları hazırsanız ve hazır olduğunuzda paylaşabilirsiniz.

Dalları değiştirmeden önce değişiklikleri kaydetmeli, dallandırmalı, sıkıştırmalı veya geri almalısınız.Birleştirme, basit bir işlemdir ve dalın dayandığı kaydetmeden bağımsızdır.

Hangi dalda hangi kaydetme olduğunu görmek için dalları karşılaştırabilirsiniz.

Bkz. Bağlamları değiştirmek, işi askıya almak ve riski ayırma k için Git dalları kullanma.

Derlemeler (TFBuild tarafından otomatikleştirilir)

Tüm TFBuild yeteneklerini, ekip projesi koleksiyonunda istediğiniz herhangi bir içerik kombinasyonunu oluşturmak için kullanabilirsiniz.

Çoğu TFBuild yeteneğini tek seferde bir ekip projesi ve tek seferde bir ya da daha fazla depo oluşturmak için kullanabilirsiniz.Geçitli iade yapıları henüz kullanılamamaktadır.Simgeler yayımlanabilir, ancak henüz dizinleri oluşturulamamaktadır.

Değişiklikler

Ekip üyeleri, geliştirme makinelerdeki dosyaları aynı anda değiştirebilir.Değişiklik kümelerini, bunları oluşturduğunuz sunucuya yüklersiniz (iade etme).İstediğiniz zaman değişikliklerinizi karşıya yükleyebilirsiniz.Ancak, işiniz çakışmalar tarafından yarıda kesilebilir.

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 makinelerdeki dosyaları aynı anda değiştirebilir.Geliştirme makinenizdeki kaydetmeleri bunların ekibe katkısından bağımsız olarak oluşturursunuz.Hazır olduğunuzda, kendi kaydetmelerinizi sunucuya yüklemeden (itmeden) önce en son kaydetmeleri çekmeniz gerekir.Bu kaydetmeleri çekme işleminiz çakışmalarla yarıda kesilebilir.

En son yerel kaydetmeyi düzeltebilirsiniz.Eski kaydetmeleri değiştiremezsiniz.Kaydetmeleri iş öğelerine bağlayabilir ve bunları tamamlanmış yapılarla ilişkilendirebilirsiniz.

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

TFS'deki kod incelemeleri

Evet

Henüz mevcut değildir, ancak web portalından bir kaydetme hakkında yorum yapıp bunu e-postayla gönderebilirsiniz.

CodePlex desteği

Evet

Evet

Çakışma çözümü

Alma, iade etme, birleştirme ya da raftan alma sırasında çakışmaları gidermeniz gerekebilir.Visual Studio'da her türlü çakışmayı çözebilirsiniz.

Çektiğinizde ya da birleştirdiğinizde çakışmaları gidermeniz gerekebilir.Visual Studio'da içerik çakışmalarını çözebilirsiniz.Diğer tür çakışmalar komut isteminden çözümlenebilir.

Dosya deposu

Büyük ikili dosyaları iade edebilirsiniz.Kullanmak isteyebilirsiniz NuGet birlikte veya alternatif olarak.

Küçük ikili dosyaları iade edebilirsiniz.Büyük ikili dosyaları, özellikle de sıklıkla değiştirdiklerinizi, iade etmekten kaçının.Mümkünse, kullanın NuGet ikili dosyaları iade etme alternatif olarak.

İstemci geliştirme makinesindeki dosyalar

Dosyalarınıza Kaynak Denetimi Gezgini kullanarak Visual Studio'da ya da Windows Dosya Gezgini veya komut istemi kullanarak göz atabilirsiniz.

Dosyalarınıza Windows Dosya Gezgini ya da komut istemi kullanarak göz atabilirsiniz.Henüz Visual Studio'da dosyalara göz atamazsınız.

Sunucu üzerindeki dosyalar

Her ekip projesi tek bir kök yol altındaki tüm dosyaları içerir (örneğin: $/FabrikamTFVC).Dosya seviyesinde izinler uygulayabilirsiniz.Dosyaları kilitleyebilirsiniz.

Dosyalarınıza web portalında ve Kaynak Denetimi Gezgini kullanarak Visual Studio'da göz atabilirsiniz.

Ekip projeniz yalnızca bir sunucu üzerinde yer alır.

Her ekip projesi bir veya daha fazla Git deposu ve her Git deposu bir veya daha fazla dal içerebilir.En ayrıntılı izinleri bir depoya veya dala uygulayabilirsiniz.Dosyalar kilitlenemez.

Dosyalarınıza web portalında göz atabilirsiniz.

Kaydetmeleri birden fazla uzak depoya itebilirsiniz (ör. hem ekip projesinin deposuna hem de Microsoft Azure üzerinde barındırılan web sitenize).

Geçmiş

Dosya geçmişi istemci geliştirme makinesinde çoğaltılmaz ve dolayısıyla yalnızca sunucuya bağlı olduğunuzda görüntülenebilir.

Visual Studio'da ve web portalında geçmişi 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ı olunmadığında bile görüntülenebilir.

Visual Studio'da ve web portalında geçmişi görüntüleyebilirsiniz.Web portalında, bir satırı kimin ve ne zaman değiştirdiğini görmek için dosyalara açıklama ekleyebilirsiniz.

Geliştirme makinenizde iş yönetme

Bekleyen değişiklikler ve çalışmam sayfaları

Değişiklikler, kaydetmeler ve dallar sayfaları.

Geçiş yolu

Git-TF

Git-TF

Kalite kapıları

CI yapılarını, geçitli iade etme yapılarını ve iade etme ilkelerini kullanabilirsiniz.

CI yapılarını kullanabilirsiniz.Geçitli iade etme yapıları henüz kullanılamamaktadır.

Değişiklikleri geri alma

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

Kaydetmeyi geri alabilirsiniz

Ölçek

Yerel çalışma alanlarını kullanarak küçük ya da çok büyük ölçekli projelerde çalışabilirsiniz.Çok büyük ölçekte (dal başına milyonlarca dosya ve büyük ikili dosyalar) projeleri sunucu çalışma alanlarını kullanarak destekler.

Küçük projeleri hızla başlatabilirsiniz.Çok büyük projeler için ölçek büyütebilirsiniz ancak kod tabanınızı modülerleştirmek için ileriyi planlamalısınız.Bir ekip projesinde birden çok depo oluşturabilirsiniz.

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

Çalışma sayfamdan ya da değişiklikleri rafa kaldır adımından askıya alabilirsiniz.

Bir dalı (Visual Studio ya da komut isteminden) oluşturabilir ya da (komut isteminden) gizleyebilirsiniz.

Dosyalarınızı etiketleme

Bir ya da daha fazla dosyanın bir sürümüne, Visual Studio ya da komut isteminden etiketler uygulayabilirsiniz.Her dosyanın farklı bir sürüme uygulanmış etiketi olabilir.

Komut isteminden ayrı yürütmelere etiketler uygulayabilirsiniz.Visual Studio geçmiş penceresinde etiketleri görüntüleme.

Araçlar

İstemci araçları: Visual Studio, Eclipse (Team Explorer Everywhere ile)

Sunucu aracı: TFS

İstemci araçları: Visual Studio, Eclipse ve diğer üçüncü taraf araçlar

Sunucu araçları: TFS ve üçüncü taraf hizmetleri

Kullanıcı arabirimi

Visual Studio: Tüm yaygın olarak kullanılan özellikleri ve birçok gelişmiş özelliği sunar.

TFS web portalı: Gezinebilir, yorum yapılabilir, açıklayıcı not ekleyebilir ve kod tabanının geçmişini görüntüleyebilirsiniz.

TF Komut istemi: Visual Studio ile yüklenir.Gelişmiş, yönetim ve diğer daha az ortak görevler için kullanılır.

Visual Studio: Çok yaygın kullanılan özellikleri sunar.Bazı ortak görevlerin özellikleri henüz kullanılamamaktadır.

TFS web portalı: Gezinebilir, yorum yapılabilir, açıklayıcı not ekleyebilir ve kod tabanının geçmişini görüntüleyebilirsiniz.

Üçüncü taraf komut sitemi: Bunu Visual Studio'dan yükleyebilirsiniz.Bazı ortak ve birçok daha az ortak görev için kullanılır.

Visual Studio uyumluluğu

Desteklenen tüm önceki Visual Studio sürümlerini kullanabilirsiniz.

Kullanabilirsiniz Visual Studio 2013 (Git dahil) veya Visual Studio 2012 Update 3 (de yüklemelisiniz Git için Visual Studio Araçları).

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ümelerine ek açıklama ya da yorum ekleyebilir ve kod tabanınızın seçilen parçalarını bir .zip dosyası olarak ad hoc 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, yürütmelere ek açıklama ya da yorum ekleyebilir ve kod tabanınızın seçilen parçalarını bir .zip dosyası olarak ad hoc indirme gibi diğer görevleri gerçekleştirebilirsiniz.