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 versionspec
hakkı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:
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.
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.
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.
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ğinirollback
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
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.
İlgili makaleler
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin