Aracılığıyla paylaş


Geri alma komutu (Team Foundation Sürüm Denetimi)

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

Visual Studio 2019 | Visual Studio 2022

Team Foundation Sürüm Denetimi (TFVC) tf rollback komutunu kullanarak bir veya daha fazla değişiklik kümesinin bir veya daha fazla sürüm denetimli öğe üzerindeki etkilerini geri alabilirsiniz. Bu komut, bir öğenin sürüm geçmişindeki değişiklik kümelerini kaldırmaz. Bunun yerine, bu komut çalışma alanınızda belirttiğiniz değişiklik kümelerinin etkilerini engelleyen bir dizi bekleyen değişiklik oluşturur.

Önkoşullar

Bu komutu kullanmak için Okuma, Kullanıma Alma ve Kontrol izinlerinin İzin Ver olarak ayarlanmış olması gerekir. Daha fazla bilgi için bkz . Varsayılan TFVC izinleri.

Sözdizimi

tf rollback /toversion:VersionSpec ItemSpec [/recursive] [/lock:none|checkin|checkout] [/version:versionspec] [/keepmergehistory] [/login:username,[password]] [/noprompt]
tf rollback /changeset:ChangesetFrom~ChangesetTo [ItemSpec] [/recursive] [/lock:none|checkin|checkout] [/version:VersionSpec]
[/keepmergehistory] [/noprompt] [/login:username,[password]]

Parametreler

Bağımsız değişkenler

Bağımsız değişken

Açıklama

<ChangesetFrom>~<ChangesetTo>

Geri almak istediğiniz değişiklik kümelerini belirtmek için bu bağımsız değişkeni seçeneğiyle /changeset kullanın. Değişiklik kümelerini aşağıdaki yollarla belirtebilirsiniz:

  • Tek bir değişiklik kümesi, örneğin /changeset:C11
  • Değişiklik kümeleri aralığı, örneğin /changeset:C7~C20
  • Bir tarih, örneğin /changeset:D09/30/09
  • Tarih aralığı, örneğin /changeset:D09/23/09~D10/07/09
  • En son değişiklik kümesi /changeset:Tip veya /changeset:T

<ItemSpec>

Geri almak istediğiniz bir veya daha fazla öğeyi belirtmek için bu bağımsız değişkeni kullanın. seçeneğini kullanırsanız /toversion , bu bağımsız değişkeni belirtmeniz gerekir.

TFVC'nin öğe belirtimlerini nasıl ayrıştırma hakkında daha fazla bilgi için bkz . Team Foundation sürüm denetimi komutlarını kullanma.

Not

Birden itemspec fazla bağımsız değişken belirtebilirsiniz.

<VersionSpec>

Hem seçenek hem de /version seçenek için kullanıcı tarafından /toversion sağlanan değer.

Bir dosyayı belirli bir değişiklik kümesindeki /toversion durumuna döndürme seçeneğiyle bu bağımsız değişkeni kullanın. Sürümü aşağıdaki yollarla belirtebilirsiniz:

  • Tek bir değişiklik kümesi, örneğin /toversion:C32
  • Gece yarısı bir tarih, örneğin /toversion:D06/19/09
  • Tarih ve saat, örneğin /toversion:D06/19/09T14:32
  • Bir etiket, örneğin /toversion:LTestLabel
  • Çalışma alanında geçerli dizine eşlenen sürüm, /toversion:W
  • Belirli bir çalışma alanında bulunan sürüm, örneğin /toversion:WResolveRIConflicts;AKerry

TFVC'nin öğesini nasıl ayrıştırma versionspechakkında daha fazla bilgi için bkz . Team Foundation sürüm denetimi komutlarını kullanma.

Seçenekler

Seçenek

Açıklama

/changeset

Olumsuzlamak istediğiniz bir veya daha fazla özel değişiklik kümesini belirtmek için bu seçeneği kullanın.

/keepmergehistory

Bu seçeneğin etkisi yalnızca geri aldığın değişiklik kümelerinden biri veya daha fazlası bir dal veya birleştirme değişikliği içerdiğinde geçerlidir. Geri almakta olduğunuz değişiklikleri dışlamak için gelecekte aynı kaynak ve aynı hedef arasında birleştirmeler yapmak istiyorsanız bu seçeneği belirtin.

/lock

tüm ilişkili değişiklikleri geri döndürmeyi bitirene kadar diğer kullanıcıların öğeleri iade etmesini veya kullanıma almasını önlemek için bu seçeneği belirtin. Daha fazla bilgi için bkz . Kilit türlerini anlama.

Kilit seçenekleri:

  • None. Varsayılan. Hiçbir kilit uygulanmaz. Geri döndürdüğünüz dosya kilitliyse, bu seçenek kilidi kaldırır.
  • Checkin. Siz bir iade gerçekleştirerek kilidi bırakana kadar bir öğeyi kilitler. Diğer kullanıcılar belirtilen öğeyi kullanıma alabilir, ancak kilit kaldırılana kadar kullanıcılar düzeltmeleri iade yapamaz. Zaten kilitli olan bir dosyayı kilitleyemezsiniz.
  • Checkout. Siz bir iade yaparak kilidi kaldırana kadar kullanıcıların kilitli bir öğeyi iade etmesini veya kullanıma almalarını engeller.

/login

Bu seçenek hakkında bilgi için bkz . Komut işlevlerini değiştirmek için seçenekleri kullanma.

/noprompt

Bu işlem sırasında aksi halde görünecek iletişim kutularını engellemek için bu seçeneği kullanın.

/recursive

İşlemin alt klasörlere öğe eklemesini istiyorsanız bu seçeneği belirtin.

/toversion

Bir dosyayı belirli bir değişiklik kümesindeki durumuna geri döndürmek için bu seçeneği belirtin. Bu seçeneği kullandığınızda, belirttiğiniz sürümden bu yana uygulanmış olan tüm değişiklik kümelerinin etkisini azaltırsınız.

/version

Geri almak istediğiniz dosya ve klasörlerin geçerli sürümünü belirtir.

Açıklamalar

komutu, tf rollback belirttiğiniz her öğe için belirttiğiniz her değişiklik kümesinin etkisini azaltır. Aşağıdaki tabloda, işlemin her değişiklik türünü nasıl olumsuza çevireceği listelemektedir.

Geri alınan değişikliğin türü Geri alma değişikliği türü
ekleme, dal veya geri kaldırma sil
Düzenle Düzenle
Kodlama Kodlama
yeniden adlandırma/taşıma yeniden adlandırma/taşıma
sil Undelete
Birleştirme Geçerli dalda birleştirilen değişiklikleri olumsuzlayan değişiklik.

Aşağıdaki listede komutundan kaynaklanan bazı değişikliklere örnekler verilmiştir rollback :

  • Ekleme değişikliğinin gerçekleştiği değişiklik kümesini geri alırsınız . Geri alma işlemi geri alma değişikliğine ve silme değişikliğine neden olur.

  • Düzenleme değişikliğinin gerçekleştiği değişiklik kümesi 521'i geri alırsınız. Geri alma işlemi geri alma değişikliğine ve değişiklik kümesi 521'deki düzenleme değişikliğini engelleyen bir düzenleme değişikliğine neden olur.

  • Değişiklik kümesi 132'de $/BranchA/File1.txtile $/BranchB/File1.txt birleştirildiniz. Bu birleştirmedeki değişiklikler, 92 ve 104 değişiklik kümelerindeki düzenleme değişikliklerini içeriyor. Değişiklik kümesi 162'de, değişiklik kümesi 132'yi geri alırsınız; bu da geri alma değişikliğine ve 92 ve 104 değişiklik kümelerindeki düzenleme değişikliklerini engelleyen $/BranchB/File1.txt düzenleme değişikliğine neden olur.

Çıkış kodları

Komutu çalıştırdıktan sonra aşağıdaki tablodan tf rollback bir çıkış kodu görüntülenir.

Çıkış kodu Açıklama
0 İşlem tüm öğeleri başarıyla geri alındı.
1 İşlem en az bir öğe başarıyla geri alındı ancak bir veya daha fazla öğe geri alınamadı.
100 İşlem hiçbir öğeyi geri alamadı.

Örnekler

Aşağıdaki örnek, değişiklik kümesi 23'ün bu değişiklik kümesinde değiştirilmiş olan tüm öğeler üzerindeki etkisini olumsuz etkiler:

c:\workspace> tf rollback /changeset:C23

Aşağıdaki örnek, değişiklik kümesi 23'ün dosya a.txt üzerindeki etkisini olumsuz etkiler:

c:\workspace> tf rollback /changeset:C23 a.txt

Aşağıdaki örnek, a.txt içeriğini değişiklik kümesi 23 ile iade edilen sürümle eşleşecek şekilde değiştirir:

c:\workspace> tf rollback /toversion:C23 a.txt

Aşağıdaki örnek, OurTeamProject içeriğini 31 Ağustos 2009'da gece yarısı veya öncesinde uygulanan son değişiklik kümesiyle eşleşecek şekilde değiştirir:

c:\workspace> tf rollback /toversion:D08/31/2009 /recursive $/OurTeamProject/

Örnek /keepmergehistory seçeneği

Dal veya birleştirme değişikliği içeren bir değişiklik kümesini geri aldığınızda, genellikle gelecekte aynı kaynakla aynı hedef arasındaki birleştirmelerin bu değişiklikleri içermesini istersiniz. Ancak, geçmişteki birleştirme işleminde kapsanan değişiklik kümelerini dışlamak için aynı kaynak ve aynı hedef arasında gelecekte birleştirmeler yapmak istiyorsanız seçeneğini kullanabilirsiniz /keepmergehistory . Örneğin:

  1. 30 Haziran 2009'da $/BranchA/ ile $/BranchB/ arasında tüm öğelerin tam bir birleşimini yaparsınız.

    c:\workspace> tf merge $/BranchA $/BranchB
    

    Bu birleştirmeyi değişiklik kümesi 292'nin bir parçası olarak iade edin.

  2. Temmuz ayında $/BranchA/Util.cs birkaç değişiklik yapacaksınız. Bu değişiklikler 297, 301 ve 305 değişiklik kümelerinde yer alır.

  3. 1 Ağustos 2009'da $/BranchA/Util.csöğesini $/BranchB/Util.cs ile birleştirin.

    c:\workspace> tf merge $/BranchA/Util.cs $/BranchB/Util.cs
    

    Değişiklik kümesinin 314 parçası olarak değişikliği iade edebilirsiniz. Bu işlemin sonucu, 297, 301 ve 305 değişiklik kümelerinde $/BranchA/Util.cs yaptığınız düzenlemelerin artık $/BranchB/Util.cs'ada uygulanmasıdır.

  4. Bir hafta sonra, Temmuz ayında $/BranchA/Util.cs üzerinde yaptığınız düzenlemelerin $/BranchB/Util.cs için uygun olmadığını fark ediyorsunuz. Bu değişiklikleri yok etmek için komutunu kullanabilirsiniz rollback . Birleştirme değişikliğini rollback veya dal değişikliğini geri almak için komutunu kullandığınızda, bir karara varırsınız.

    • Temmuz ayında $/BranchA/Util.cs'da yaptığınız değişikliklerin gelecekteki birleştirmelerde $/BranchB/Util.cs'a yeniden uygulanmasını istiyorsanız, aşağıdaki komutu girin:

      c:\workspace> tf rollback /changeset:314
      
    • Temmuz ayında $/BranchA/Util.cs'da yaptığınız değişikliklerin gelecekteki birleştirmelerde $/BranchB/Util.cs hiçbir zaman yeniden uygulanmamasını istiyorsanız, aşağıdaki komutu girin:

      c:\workspace> tf rollback /changeset:314 /keepmergehistory
      
  5. Birkaç hafta sonra $/BranchA/ öğesini $/BranchB/ ile birleştirirsiniz.

    c:\workspace> tf merge $/BranchA $/BranchB
    
    • Geri aldığınızda seçeneği atlarsanız, birleştirme değişikliği $/BranchB/Util.cs değişiklik kümesi 297, 301 ve 305 dahil olmak üzere değişiklik kümesi 292'den bu yana $/BranchA/Util.cs uygulanan tüm değişiklik kümeleri için geçerlidir./keepmergehistory Başka bir deyişle, birleştirme geri alma değişikliğini geri alır.

    • Geri alırken seçeneğini eklediyseniz/keepmergehistory, birleştirme işlemi $/BranchB/Util.cs değişiklik kümesi 292'den bu yana $/BranchA/Util.cs uygulanan tüm değişiklik kümeleri (297, 301 ve 305 değişiklik kümeleri hariç) için geçerlidir. Başka bir deyişle, birleştirme geri alma değişikliğini geri almaz. Bu nedenle BranchA'nın içeriği BranchB'de bulunan içerikle eşleşmeyebilir.