Rollback Komutu (Team Foundation Sürüm Denetimi)
Bu komutu bir ya da daha fazla değişiklik kümesinin bir ya da daha fazla sürümü denetlenmiş öğeye olan etkisini geri almak için kullanabilirsiniz. Bu komut değişiklik kümelerini bir öğenin sürüm geçmişinden kaldırmaz. Onun yerine, bu komut çalışma alanınızda belirlediğiniz değişiklik kümelerinin etkilerini iptal eden bir takım askıdaki değişiklikler oluşturur.
Gerekli İzinler (bu sayfa İngilizce içeriğe sahip olabilir)
Bu komutu kullanmak için, Okuma, Kullanıma Alma ve İade Etme izinlerinin İzin ver olarak ayarlanması gerekir. Daha fazla bilgi için bkz. Takım Kuruluş Sunucusu İzinleri.
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şken |
Açıklama |
---|---|
ChangesetFrom~ChangesetTo |
Geri almak istediğiniz değişiklik kümelerini belirtmek üzere bu değişkeni /changeset seçeneğiyle kullanın. Değişiklik kümelerini aşağıdaki yollarla belirleyebilirsiniz:
|
ItemSpec |
Geri almak istediğiniz bir ya da daha fazla öğeyi belirlemek için bu değişkeni kullanın. /toversion seçeneğini kullanıyorsanız, bu bağımsız değişkeni belirtmelisiniz. Team Foundation'ın öğe belirtimlerini nasıl ayrıştırdığı hakkında daha fazla bilgi için, bkz. Komut Satırı Sözdizimi (Sürüm Denetimi).
Not
Birden fazla Itemspec bağımsız değişkeni belirtebilirsiniz.
|
VersionSpec |
/version ve /toversion seçeneklerine ilişkin kullanıcı tarafından sağlanan değer. Bir dosyayı belirli bir değişiklik kümesinde eski durumuna döndürmek için bu değişkeni /toversion seçeneğiyle kullanın. Sürümü aşağıdaki yollarla belirleyebilirsiniz:
Team Foundation'ın versionspec'leri nasıl ayrıştırdığı hakkında daha fazla bilgi için, bkz. Komut Satırı Sözdizimi (Sürüm Denetimi). |
Seçenek |
Açyklama |
---|---|
/changeset |
Etkisiz kılmak istediğiniz bir ya da daha fazla değişiklik kümesini belirtmek üzere bu seçeneği kullanın. |
/keepmergehistory |
Bu seçenek, sadece geri alıyor olduğunuz bir ya da daha fazla değişiklik kümesi bir branch veya merge değişikliği içerirse etkiye sahiptir. Geri alıyor olduğunuz değişiklikleri dışlamak üzere aynı kaynak ve aynı hedef arasında gelecek birleştirmeler istiyorsanız bu seçeneği belirtin. Daha fazla bilgi için bkz.Örnek: /keepmergehistory Seçeneği. |
/lock |
Siz bütün ilişkilendirilmiş değişiklikleri geri almayı bitirene kadar diğer kullanıcıların öğeleri iade etmelerini veya kullanıma almalarını engellemek için bu seçeneği belirtin. Daha fazla bilgi için bkz. Kilit Türlerini Anlama. Kilitleme Seçenekleri
|
/login |
Bu seçenek hakkında daha fazla bilgi için, bkz. Komut Satırı Seçenekleri. |
/noprompt |
Aksi takdirde bu işlem sırasında görüntülenecek iletişim kutularını bastırır. |
/recursive |
Bu seçeneği işlemin alt klasörlerdeki öğeleri içermesini isterseniz belirtin. |
/toversion |
Bu seçeneği bir dosyayı belirli bir değişiklik kümesinde durumuna geri döndürmek için belirtin. Bu seçeneği kullandığınızda, belirlediğiniz sürümden beri uygulanmış bütün değişiklik kümelerinin etkilerini geçersiz hale getirirsiniz. |
/version |
Geri almak istediğiniz dosyaların ve klasörlerin geçerli sürümünü belirtir. |
Açıklamalar
tf rollback komutu belirttiğiniz her öğe için belirttiğiniz her değişiklik kümesinin etkisini geçersiz kılar. Aşağıdaki tablo işlemin her tür değişikliği nasıl iptal ettiğini listeler.
Bu değişikliği geri alırsanız... |
...bir geri alma değişikliği ve aşağıdaki ek değişiklik yapılır |
---|---|
addbranch veya undelete |
delete |
edit |
edit |
encoding |
encoding |
rename/move |
rename/move |
delete |
undelete |
merge |
Güncel dallanmayla birleştirilen her ne değişiklik varsa, onların etkisini yok eden değişiklik. |
Aşağıdaki listede geri alma komutundan sonuçlanan bazı değişiklik örnekleri vardır:
Bir add değişikliğinin olduğu değişiklik kümesini geri alıyorsanız, geri alma işlemi rollback ve delete değişikliklerine neden olur.
Bir edit değişikliğinin olduğu değişiklik kümesi 521'i geri alıyorsanız, geri alma işlemi rollback değişikliğine ve değişiklik kümesi 521'de edit değişikliği tarafından çevrelenen değişiklikleri geçersiz kılan edit değişikliğine neden olur.
Değişiklik kümesi 132'de, $/BranchA/File1.txt'den $/BranchB/File1.txt'e birleştirdiniz. O birleşmede içerilen değişiklikler 92 ve 104 değişiklik kümelerinde edit değişikliklerini içermiştir. Değişiklik kümesi 162'de, değişiklik kümesi 132'yi geri alırsınız, bu bir rollback değişikliği ve edit değişikliğiyle ve 92 ve 104 değişiklik kümelerindeki düzenleme değişikliklerini geçersiz kılan, $/BranchB/File1.txt dosyasında olan değişikliğiyle sonuçlanır.
Çıkış Kodları
Aşağıdaki tablodaki çıkış kodları tf rollback komutunu çalıştırdıktan sonra görünür.
Çıkış Kodu |
Açıklama |
---|---|
0 |
İşlem bütün öğeleri başarılı bir şekilde geri almıştır. |
1 |
İşlem en az bir öğeyi başarılı bir şekilde geri almıştır ama bir ya da daha fazla öğeyi geri alamamıştır. |
100 |
İşlem hiçbir öğeyi geri alamaz. |
Örnekler
Aşağıdaki örnek değişiklik kümesi 23'ün o kümede değiştirilmiş bütün öğeler üzerindeki etkisini geçersiz kılar.
c:\workspace> tf rollback /changeset:C23
Aşağıdaki örnek değişiklik kümesi 23'ün a.txt dosyası üzerindeki etkisini geçersiz hale getirir.
c:\workspace> tf rollback /changeset:C23 a.txt
Aşağıdaki örnek a.txt içeriğini, değişiklik kümesi 23 ile kontrol edilmiş sürümle eşleştirmek üzere değiştirir.
c:\workspace> tf rollback /toversion:C23 a.txt
Aşağıdaki örnek OurTeamProject içeriğini, 31 Ağusto 2009 gecesinde veya daha önce uygulanmış son değişiklik kümesiyle eşleştirmek üzere değiştirir.
c:\workspace> tf rollback /toversion:D08/31/2009 /recursive $/OurTeamProject/
Örnek: /keepmergehistory Seçeneği
Dallanma veya birleştirme değişikliği içeren bir değişiklik kümesini geri aldığınızda, o değişiklikleri dahil etmek için aynı kaynak ve aynı hedef arasında gelecek birleştirmeleri genelde istersiniz. Bununla birlikte, /keepmergehistory seçeneğini, geçmiş birleştirme işleminde çevrelenmiş olan değişiklik kümelerini dışlamak üzere aynı kaynak ve aynı hedef arasında gelecek birleştirmeler isterseniz kullanabilirsiniz.
Örneğin, bu komutu aşağıdaki durumda kullanabilirsiniz:
30 Haziran 2009'da, bütün öğelerin $/BranchA/'dan $/BranchB/'ye tam birleştirmesini gerçekleştirirsiniz:
c:\workspace> tf merge $/BranchA $/BranchB
Bu birleştirmeyi değişiklik kümesi 292'nin parçası olarak iade edersiniz.
Temmuzda, $/BranchA/Util.cs'e birkaç değişiklik yaparsınız. Bu değişiklikler 297, 301 ve 305 numaralı değişiklik kümelerinde çevrelenir.
1 Ağustos 2009'da, $/BranchA/Util.cs'i $/BranchB/Util.cs'e birleştirirsiniz:
c:\workspace> tf merge $/BranchA/Util.cs $/BranchB/Util.cs
Değişikliği 314 numaralı değişiklik kümesinin parçası olarak iade edersiniz. Bu işlemin sonucu olarak $/BranchA/Util.cs'e 297, 301 ve 305 değişiklik kümelerinde yaptığınız düzenlemeler şimdi $/BranchB/Util.cs'e de uygulanmıştır.
Bir hafta sonra, Temmuz'da $/Branca/Util.cs'e yaptığınız düzenlemelerin $/BranchB/Util.cs için uygun olmadığının farkına varırsınız. Bu değişiklikleri iptal etmek için geri alma komutunu kullanabilirsiniz. Bir merge veya branch değişikliğini geri almak üzere geri alma komutunu kullandığınız zaman vereceğiniz bir karar vardır.
Temmuz'da $/BranchA/Util.cs'e yaptığınız değişikliklerin $/BranchB/Util.cs'e gelecek birleştirmeler için yeniden uygulanmasını istiyorsanız, aşağıdaki komutu yazmalısınız:
c:\workspace> tf rollback /changeset:314
Temmuz'da $/BranchA/Util.cs'e yaptığınız değişikliklerin $/BranchB/Util.cs'e gelecek birleştirmeler için alsa uygulanmasını istemiyorsanız, aşağıdaki komutu yazmalısınız:
c:\workspace> tf rollback /changeset:314 /keepmergehistory
Birkaç hafta sonra, $/BranchA/Util.cs'i $/BranchB/Util.cs'e birleştirirsiniz:
c:\workspace> tf merge $/BranchA $/BranchB
/keepmergehistory seçeneğini gözden kaçırdıysanız, merge değişikliği 292 değişiklik kümesinden dolayı, 297, 301, 305 değişiklik kümeleri dahil olmak üzere $/BranchA/Util.cs'e uygulanmış bütün değişiklik kümeleri $/BranchB/Util.cs'e uygulanacaktır. Diğer bir ifadeyle, gelecekteki bir birleştirme rollback değişikliğini geri alacaktır.
/keepmergehistory seçeneğini dahil ettiyseniz, birleştirme işlemi 292 değişiklik kümesinden dolayı, 297, 301 ve 305 değişiklik kümeleri hariç $/BranchA/Util.cs'e uygulanmış tüm değişiklik kümeleri $/BranchB/Util.cs'ye uygulanacaktır. Diğer bir ifadeyle, gelecekteki bir birleştirme geri alma değişikliğini geri almayacaktır. Bundan dolayı, BranchA'daki içerik BranchB'deki içerikle eşleşmeyebilir.
Ayrıca bkz.
Başvuru
Kavramlar
Sadece Komut Satırından Erişilebilir Olan Operasyonlar (Takım Kuruluşu Sürüm Denetimi)