2013-04-09 55 views
1

想象我有以下的回購歷史SVN如何刪除我在SVN忘記文件

1000年至1001年 - 1002

在版本號1001我在子目錄中增加了一些文件和COMMITED它到1002.但實際上我必須做的是從這些子目錄中刪除所有文件,然後添加新文件,然後將其提交到版本號1002.

由於人類犯了錯誤:)所以我也不例外。現在1002擁有所有新文件和舊文件,如果我必須從1002中刪除文件,它將非常困難,因爲它將是所有文件的混合。有沒有一種方法可以在svn中輕鬆做到這一點?

感謝

+0

你總是可以結帳修訂1000,然後再試一次 – 2013-04-09 16:57:43

+0

你需要使用「SVN合併」選項,請上網: HTTP:// stackoverflow.com/questions/4527189/how-to-undo-a-commit-in-svn – 2013-04-09 17:07:11

回答

1

開始用乾淨的工作目錄,並返回到修改添加新的文件之前:

svn up -r 1001 . 

現在,你可以從子目錄刪除所有文件。 rev 1002中添加的文件不受影響,因爲它們不存在於工作副本的修訂版本中。

svn rm foo/* bar/* 

使用svn up將工作副本更新到最新版本。出現rev 1002中添加的文件。使用svn commit提交的文件,已標記爲刪除以前:

svn up 
svn commit