SVN系列之—-SVN版本回滾的辦法

例:SVN版本爲:TortoiseSVN 1.9.7linux

1、SVN簡介

subversion(簡稱svn)是一種跨平臺的集中式版本控制工具,支持linux和windows。數據庫

 

版本控制解決了:
*代碼管理混亂
*解決代碼衝突困難
*在代碼整合期間引起bug
*沒法對代碼的擁有者進行權限控制
*項目不一樣版本的發佈困難windows

 

SVN版本控制原理:服務器

1. 全部的客戶端將本身的代碼上傳到中央服務器,中央服務器的版本數據庫會保存上傳的各個版本的代碼,並進行統一管理。這裏注意,客戶端自己是不存在版本數據庫的,因此,若是中央服務器離線或宕機,則集中式版本控制則沒法使用。svn

2. SVN是一個增量式的版本控制,它不會講各個版本的副本都完整的保存下來,而只會記錄下版本之間的差別,而後按照順序更新或者恢復特定版本的數據。這使得服務端的存儲量會很是低。工具

2、svn的幾個操做說明

一、Check out(檢出):從服務器端取得代碼this

把服務器資料庫裏存放的某個項目代碼取出來,放到本地主機中,這個動做叫作「check out」。使用具體步驟:進入要安裝項目文件的目錄中,點擊鼠標右鍵,選擇SVN Check out項,而後填寫項目的原始路徑和安裝路徑後點擊「ok」便可。版本控制

二、Update(更新):更新項目代碼blog

之前checkout過的一個項目代碼,當服務器上有了更新的代碼,或者本地代碼損壞或丟失,update能夠自動判斷本地哪些文件較舊,或者缺乏,都會自 動更新。固然,你也能夠刪除掉本地代碼,從新check out。使用具體步驟爲:在要更新的項目上點擊鼠標右鍵,選擇「SVN Update」項便可。權限控制

三、Commit(提交):將本地代碼上傳到服務器

當修改(增長,刪除,修改等全部寫操做)過本地代碼後,這個動作會把新代碼提交到SVN。若是本地代碼作了修改,不執行commit操做,SVN服務器上是 不會有這個新版本的,也就是說其它人也得不到。對代碼作過修改後,應儘快commit。使用具體步驟:在修改完待上傳的項目上點擊鼠標右鍵,選擇 「SVN Commit」項便可。

四、share Project(共享工程):ecplise中的操做

把一個非svn的工程,上傳到svn中。

 

3、SVN版本回滾

1.【推薦】直接export

優勢:不丟失新建的文件,同時得到最新的SVN版本控制。 操做步驟:

  • TortoiseSVN→Show log→選中須要回滾的版本→右鍵→Export。以後將修改的文件覆蓋到你的最新版本,commit便可。

 

 2. 只需將本地文件回退到某一個版本------Update to revision

優勢:SVN沒有顯示有衝突,而且SVN上新創建的文件也還在;

缺點:不能直接在回退後的版本上進行編輯,由於SVN的版本控制仍是在最新的主幹上。咱們須要update手動解決衝突。

操做步驟:

  • TortoiseSVN→Update to revision
  • 或者TortoiseSVN→Show log→選中須要回滾的版本→右鍵→Update item to revision

 

3. 新文件不須要保留------Revert to this revision,

優勢:能夠直接解決衝突並提交

缺點:直接回滾到某個舊的版本,這個版本後的變動都會被刪除,新建的文件都丟失

操做步驟:

  • TortoiseSVN→Show log→選中須要回滾的版本→右鍵→Revert to this revision,svn commit操做

 

 

4. 刪除中間幾個版本------Revert changes from this revision"

優勢:能夠直接解決衝突並提交 

缺點:新建的文件都丟失,整個工程都回退到以前的版本

選中一個或者多個版本,執行"Revert chages from these revisions",意思是將選中的這些版本回滾掉
(選中的這些版本提交的變動被刪除)。若是要回滾log裏的中間部分,就必定要用這個方法

操做步驟:

  • TortoiseSVN→Show log→選中須要回滾的版本→右鍵→Revert changes from this revision,svn commit操做

相關文章
相關標籤/搜索