[英]svn - Revert to an old commit on a different branch
我正在使用svn的項目中。 我在目錄中簽出了它的最新版本(使用svn checkout http://url /path/to/dest
)。 我做了一些修改,所以我svn add
修改后的文件,然后svn commit
更改。
不幸的是,我在錯誤的分支上進行了更改。 現在,我正在嘗試使用svn update -r 1234
將svn更新到另一個分支中的特定提交,並且得到以下錯誤消息:
svn:E160005:目標路徑'/ dev / branches / project'不存在
我使用svn switch http://url
切換到正確的分支,但仍然收到相同的錯誤消息。 如何正確還原到該提交?
我認為您的方法存在多個問題。
首先,您在Subversion中提交的更改是不可逆的¹,因此,您應該做的第一件事實際上是“撤消”錯誤提交的影響 。
由於可以將任何提交視為指定了更改內容和更改方式的“補丁”(與提交之前的存儲庫狀態相比),要撤消由提交引起的更改,您可以記錄另一個與更改完全相反的提交。原始提交。
這是通過合並你又錯了承諾,但你告訴Subversion在申請及其變化進行反向看到此獲取更多信息。
其次,您希望錯誤的提交出現在另一個分支上。 這被稱為“櫻桃采摘”:您希望將其他地方記錄的特定更改帶到另一個分支。
這是完成的過程。
¹是來自客戶。 可以使用專用工具在物理存儲庫上執行特殊手術。 但是我認為這不是我們在這里想要做的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.