2008-10-29 23 views
94

Kazalarla bir sürü dosya (farklı klasörlerde onlarca dosya) yaptım. Dosyalarımı çalışma dizinimden silmeye gerek kalmadan, 'geri almanın' en kolay, en temiz (ve en güvenli!) Yolu nedir?TortoiseSVN'de bir işlemi geri alma

cevap

142

Git Günlüğü Göster Ekrana, sen geri almak istiyor revizyon seçin sağ tıklayın ve bu revizyon gelen değişiklikleri geri seçmek, bu reverse-merge yapacağız.

+8

Ne beklediğimi ama en son kaplumbağa çıkışında hiç bir işaret yok –

+37

Daha sonra işlemeyi unutma, çünkü sadece yerel olarak birleşiyor. – pihentagy

+4

Bunu yapmadan önce çalışma kopyanızı güncellediğinizden emin olun, aksi halde hiçbir şey olmuyor. –

2

Çalışma kopyanızı, taahhüt işleminden önce revizyona geri alabilirsiniz. Çalışma kopyanızı geri aldıktan sonra, değişiklikleri yapınız ve yanlışlıkla kazandığınız işi etkili bir şekilde geri alacaksınız.

Sizinki gibi bir durumda, muhtemelen yeni bir çalışma kopyasına geri dönmek istediğim revizyonu kontrol edip çalışma kopyasını baş revizyonuna tabi tutardım.

+4

Bu, revizyonunuzun güncel olmadığını size bildirmez miydi ve işlem yapmadan önce güncellemenizi gerektiriyor mu? Bence eski düzeltmeyi güncellemek yerine önceki revizyonu birleştirmeniz gerekiyor. – Mnebuerquo

+0

Ayrıca, bu strateji, kötü işlemin bir öncekinin olduğunu varsayar. Hepsini geri almadan bir süre önce meydana gelen bazı değişiklikleri geri almak isteyebilirsiniz. – jpaugh

14

Komut satırını kullanmanız gerekebilir, ancak SVN birleştirme komutunu kullanabilir ve bir işlemi etkili bir şekilde geri almak için revizyonları geriye doğru belirleyebilirsiniz. Kötü işleminizin r1123 olduğu varsayılırsa aşağıdakileri yaparsınız:

svn merge -r1123:1122 <url of your working copy> 
+0

Bunu yaparken hiçbir şey değişmez: svn merge -r 1880: 1879 https: // server/myproject/branches/problem42 I "-r 1880: 1879" gibi boşluklarla ve bu şekilde "-r1880: 1879" gibi boşluk olmadan denediniz. Sonra "svn st" çalıştırırsam hiçbir şey değişmedi. – neoneye