我有一些變化提交了我的svn倉庫中的一些提交。假設HEAD在r750,我想恢復r745而不會丟失r746-r750。這可能嗎?在svn中,我可以恢復更改並稍後擱置它嗎?
而且,我可以以某種方式保存r745並稍後重新應用它(作爲新版本)?
我有一些變化提交了我的svn倉庫中的一些提交。假設HEAD在r750,我想恢復r745而不會丟失r746-r750。這可能嗎?在svn中,我可以恢復更改並稍後擱置它嗎?
而且,我可以以某種方式保存r745並稍後重新應用它(作爲新版本)?
假如你得到一個乾淨的向後合併,你可以這樣做......
svn merge -r 745:744 <source>
然後,當你想重新申請它,你可以進合併其放回:
svn merge --ignore-ancestry -r 744:745 <source>
欲瞭解更多信息,請查看「Common Use-Cases for Merging」。
是的,這是絕對有可能的。
當您恢復更改時,它仍會在存儲庫中創建新修訂版。所以你會這樣做:
1)退房當前副本r750。
2)使用svn merge -r
指定工作副本上的還原。您的工作副本將合併舊版本。
3)檢查工作副本爲r751。
現在你將在歷史中有兩個修訂。新的(r751)不包括r745,因爲你已經把它推回去了。但是如果你想重新使用它,r745仍然會在那裏。你可以簡單地檢出r745的副本,將它合併到你的工作副本中,並重新檢入(例如r752)。
我已經嘗試了很多次,沒有`--ignore-ancestry`。 svn不會合並任何更改,因爲它們位於同一個文件夾中。現在它的工作,謝謝你的提示! – donmarkusi 2015-10-16 12:17:13