所以我有一個本地生成文件。SVN:恢復提交,同時保留本地更改
它不應該在SVN中,但它是。 (謝謝,以前的維護者!)但是對本地副本進行了更改,僅適用於構建它的盒子。
我搞砸了,並提交這個本地構建文件。現在SVN回購副本具有這些本地更改;這不好。
我怎樣才能回到原狀,當地的變化是在本地副本,而不是在SVN回購協議,和隨後svn update
不會覆蓋本地更改?
所以我有一個本地生成文件。SVN:恢復提交,同時保留本地更改
它不應該在SVN中,但它是。 (謝謝,以前的維護者!)但是對本地副本進行了更改,僅適用於構建它的盒子。
我搞砸了,並提交這個本地構建文件。現在SVN回購副本具有這些本地更改;這不好。
我怎樣才能回到原狀,當地的變化是在本地副本,而不是在SVN回購協議,和隨後svn update
不會覆蓋本地更改?
您可以使用更改列表或鎖定文件以避免再犯同樣的錯誤。
對於我這樣一個原理:
> svn st
M 0027
> svn info 0027 | grep URL
URL: svn://localhost/xxx/trunk/0027
> svn rm -m "remove accidently checked in file" svn://localhost/xxx/trunk/0027
Revision ...
> svn update
C 0027
At revision 42.
Summary of conflicts:
Tree conflicts: 1
> svn revert 0027
Reverted '0027'
> svn status
? 0027
所以文件0027
還活着,有它的舊內容,但不是在回購了。
如果你的文件不應該進行版本控制,你可以取消它的版本:
svn rm --keep-local filename
這將讓任何本地文件,但SVN將停止跟蹤它。
感謝您的回答。但是,嚴重的是,SVN中沒有更簡單的方法?我*不能*是第一個做這件事的人(白癡)。 – tpdi
我真的不知道它可能會更容易。您需要保留本地更改,因此需要進行備份。你需要恢復到以前的版本,所以你必須告訴哪個版本。 SVN無法爲你猜出它。通常,如果某個文件不應該提交,它不應該在SVN中。 –
>通常,如果某個文件不應該被提交,它不應該在SVN中。真正的數據。 ;( – tpdi