假設我已經對Subversion存儲庫進行了一些不好的更改。然後我做出了很好的改變,我想保持。在Eclipse中使用svn回滾不良變化
什麼是最簡單的方法來回滾Eclipse中的這些不良變化,並保持良好的變化?假設有關不良變化的文件與有關良好變更的文件不同。如果對相同的文件進行了很好的修改,情況會發生怎樣的變化?
我主要是想通過Eclipse插件(Subclipse或Subversive)來做到這一點,但命令行命令也很有趣。
假設我已經對Subversion存儲庫進行了一些不好的更改。然後我做出了很好的改變,我想保持。在Eclipse中使用svn回滾不良變化
什麼是最簡單的方法來回滾Eclipse中的這些不良變化,並保持良好的變化?假設有關不良變化的文件與有關良好變更的文件不同。如果對相同的文件進行了很好的修改,情況會發生怎樣的變化?
我主要是想通過Eclipse插件(Subclipse或Subversive)來做到這一點,但命令行命令也很有趣。
你有兩個選擇來做到這一點。
快速和髒(使用CTRL)在Project Explorer視圖中選擇文件,右擊它們,選擇Replace with...
然後你選擇最適合你的選擇,從Latest from Repository
,或一些Branch
版本。在獲得這些文件後,您可以修改它們(使用空格或修正某些內容,撥打電話並提交它們以創建新版本)。
更清晰的方法是在團隊菜單中選擇Merge
,然後通過嚮導進行導航,以幫助您。到
恢復舊版本中實際修訂這兩個命令有其命令行等效:svn revert
和svn merge
的svnbook有顛覆如何讓你恢復從一個特定版本的變化沒有部分影響後續修訂中發生的變化:
http://svnbook.red-bean.com/en/1.4/svn.branchmerge.commonuses.html#svn.branchmerge.commonuses.undo
我不使用Eclipse太多,但在TortoiseSVN中,你可以從日誌對話中做到這一點;只需右鍵單擊要恢復的修訂並選擇「還原此修訂中的更改」。
如果您想要恢復「錯誤更改」的文件在後續修訂中有「良好的更改」,那麼過程是相同的。來自「不良」修訂版本的更改將被還原,而不會改變「良好」修訂版本的更改,但可能會發生衝突。
我已經寫了一些關於這個問題的博客文章。一說是Subclipse的中心:http://markphip.blogspot.com/2007/01/how-to-undo-commit-in-subversion.html,另一種是命令行中心:http://blogs.collab.net/subversion/2007/07/second-chances/
在Eclipse木衛三(Subclipse的)
選擇項目/文件,其中包含錯誤的修改,並從彈出菜單中選擇:
團隊 - 與該項目/文件>查看歷史
修訂將在歷史記錄選項卡中顯示。
查找修訂版本,其中的「壞的變化」已提交,並從彈出菜單中選擇:
還原更改從版本X
這將合併壞修訂中修改文件(S)的變化,修改之前進行了修改。
有從這裏兩種方案:
如果你犯了沒有修改(壞修訂該文件的最後一次修改),它會直接刪除不良修訂所做的更改。這些更改將合併到您的工作副本,因此您必須提交它們。
如果您對該文件進行了一些更改(錯誤的修訂版本不是該文件的上次修訂版),則必須手動解決衝突。假設您有readme.txt文件,而修訂版本號是33,而且您已在修訂版34中對該文件進行了另一次提交。選擇從版本33恢復更改後,您將在工作中執行以下操作副本:
readme.txt.merge-left.r33 - 壞修訂
readme.txt.merge-right.r32 - 壞修訂
以前的readme.txt .W工作會有 - 工作拷貝版本(同R34如果你沒有任何未提交的更改)
readme.txt文件原件將一些被標記衝突,並且將包含合併版本(其中從壞的修訂被除去)標記(< < < < < < <.working等)。如果您只想從不良修訂版本中移除更改並保留修改,那麼您只需刪除標記即可。否則,您可以將上述3個文件之一的內容複製到原始文件。無論你選擇,當您完成,標誌衝突解決由
隊馬克 - 已解決
臨時文件將被刪除,你的文件將被標記改變。如1所示,您必須提交更改。
請注意,這不會刪除svn存儲庫中的修訂歷史記錄版本。您只需刪除修訂版本中的新修訂版即可。
如果您想一次執行1個文件,您可以前往文件的歷史記錄視圖,前提是您已安裝了Eclipse SVN插件。 「團隊 - >顯示歷史」
在歷史視圖中,找到該文件的最新版本,右鍵單擊並選擇「獲取內容」。這將用該版本的內容替換您當前的版本。然後,您可以在修復完所有內容後進行修改。
在Eclipse中使用顛覆:
右鍵點擊你的項目>團隊>合併
在合併窗口,選擇要作爲正常恢復,但也使複選框「反向合併」的修訂。
正常合併。
我有同樣的問題,但CleanUp eclipse選項不適用於我。
1)安裝TortoiseSVN
2)進入Windows資源管理器和鼠標右鍵點擊你的項目目錄
3選擇清除選項(通過檢查破鎖選項)
它的作品。
希望這可以幫助別人。
來自Repository的最新消息是錯誤地簽入的人,所以我沒有看到它應該有用的地方。除此之外,eclipse並不想幫你解決這個問題,因爲如果你選擇多個文件(可能是因爲他們的最新版本不同),只有提及選項可用。 – Macilias 2015-08-28 15:11:21