SVN 客戶端使用說明(三)

客戶端使用說明


1)添加SVN目錄
新建文件夾,右鍵點擊
 
點擊SVN Checkout,複製svn服務路徑(https://CY-20180605XUVO/svn/test1/)
 
輸入用戶名及密碼,更新文件倉庫。
 
2)首次上傳及提交文件
首先右鍵選擇TortoiseSVN,點擊Add,將文件加入上傳目錄(首次上傳需要加入提交目錄,如果已加入目錄直接SVN Commit即可),如下圖:
 
點擊文件右鍵,點擊SVN Commit,進行提交
 
確認提交的文件目錄,以及輸入此次提交說明。
 
提交後,返回提交信息列表,如下圖:
 
3)更新文件
將最新文件更新至本地,點擊右鍵,點擊SVN Update獲取最新文件,如下圖:
 
4)查看日誌信息
右鍵點擊文件,選擇show log選項,如下圖:
 
日誌信息包含版本號,提交動作(新增,修改等),操作人,提交時間,提交信息等,在彈出界面也可以日期範圍的簡單篩選,如下圖: 
 
5)文件比較-與前一版本比較
與前一版本進行比較,如下圖選擇”diff with previous version”
 
比較詳細信息查看,如下圖:
 
6)文件比較-與歷史版本比較
首先查詢文件日誌show log(可查看“4)查看日誌信息”說明),可選擇不同歷史版本進行比較,如下圖:
 
7)本地文件還原服務器版本
如果本地已經對文件進行修改,但是想要還原到服務器上的版本,可進行如下操作:
說明:文件的紅色感嘆號代表,本地文件與服務器文件不一致;
 
點擊“Revert”,可將本地文件還原爲服務器上最新版本。
8)忽略提交文件
如果需要每次提交整個文件夾內多個變動的文件,但是其中一個或多個文件又不想提交到服務端,可進行下面操作。 對文件夾進行提交操作,將新建的excel加入忽略列表,如下圖:

 


忽略提交文件列表已經生成,之後每次提交文件夾內變動文件時,此文件將不被提交,如果想要提交忽略文件,可進行打鉤選擇進行提交。
9)處理文件鎖定

 

        下面例子來自於網上文章,但是沒有找到原文出處,如侵權則刪除下面說明

        SVN本地更新時,由於一些操作中斷,如磁盤空間不夠,用戶取消等,可能會造成本地文件被鎖定的情況。這時候無論你在執行SVN的更新、提交等子命令都會提示“**locked”的錯誤。

 
一般出現這種情況的解決方法:
1.可以使用SVN clean up來清除鎖定。
2.如果不是本目錄鎖定,系統提示上一層目錄鎖定,需要到上一層或者根目錄中清除。
 
3.如果在根目錄下都無法clean的話,sqlite工具進行清除數據。
先設置隱藏文件、文件夾爲可見
 
按下圖的操作,即可設置隱藏文件、文件夾爲可見
     
回到剛纔的目錄,是否發現多了一個文件夾,就是那個目錄,是svn的隱藏目錄,裏面有它的配置文件
 
找到一個wc.db的數據庫文件,這個是一個sqlite的數據庫文件,沒有密碼,可以直接打開,可以使用sqlite查閱器打開
 
這裏介紹用aSQLiteSpy來打開,這個軟件非常好用,想要初步瞭解的可以查看我的另一篇經驗文章:如何打開sqlite的數據庫文件
 
如果svn被鎖住,直接刪除這個表的數據就可以了
delete from work_queue;
 
10)解決文件內容衝突
舉例說明:(參考https://www.cnblogs.com/jose-Lee/p/4896088.html)
假設A、B兩個用戶,他們分別從svn服務器中檢出了test1.txt文件,此時A、B、服務器三個地方的test1.txt的版本都是13。A、B文件的內容如下圖(左A右B):
 
接下來,B用戶添加一句話並提交,內容如下:
 
此時B用戶和服務器的test1.txt的版本都變爲14,只有A用戶的test1.txt的版本還爲13。接下來A用戶添加一句“aa”,然後提交
 
由於A用戶是在13版本上做的修改,而服務器已經是14版本了,所以會提交失敗:
 
接下來就是我們要解決的問題了,解決方法分爲以下兩種方式。
第一種方式:
A放棄自己修改的內容,進行Revert操作,解決衝突後,但是A需要重新修改,重新提交。
第二種方式:
因爲版本過時,提交失敗後。A用戶直接選擇更新操作,結果如下圖所見
 
這裏詳細說一下產生衝突後的這幾個文件,:
test1.txt.mine---這個文件是A用戶在13版本中做了修改要提交的文件。它的內容是:13版本內容+A用戶的修改
test1.txt.r13----這個文件是A用戶最初的13版本的test1.txt。
test1.txt.r14----這個文件時svn服務器中test1.txt的最新版本,這裏既是B用戶提交後的14版本。它的內容是:13版本內容+B用戶的修改
test1.txt--------由於A用戶選擇了直接更新,此文件就是svn將 最新版本14 與 A用戶的修改 合併後的文件。它的內容如下:
 
接下來說一下如何解決。對於源代碼文件或其他的純文本文件,我們可以將上圖的A用戶test1.txt的內容整理下,使其滿足條件,然後選擇,
 
這時test.txt.mine、test1.txt.r13、test1.text.r14將會消失。用戶A就可以順利提交了。
但是,如果test1.txt是一個非純文本文件,比如excel,這時的test1.txt將沒法手動合併了,不得不放棄自己的修改。可以在test1.txt上右鍵選擇“Resolve”操作消除掉test.txt.mine、test1.txt.r13、test1.text.r14這三個文件。(點擊Resolve不會更改test1.txt以及服務器端的內容,僅僅是消除了那幾個文件。)此時的test1.txt文件是可以提交的,它對應的是服務器的最新版本,即14版本(因爲這是svn將服務器最新版本14和A用戶修改內容合併後的結果)。但這是svn幫我們合併的,是不合法的文件。我們可以右鍵然後選擇“Revert”,然後test1.txt就會變成14版本,A用戶的修改沒有了,A、B、服務器的test1.txt都成爲了14版本。接下來A用戶就可以再進行修改提交了。
11)刪除文件
右鍵文件,進行刪除操作,如下圖:
 
刪除後,進行提交操作。
如果想要恢復刪除文件,可通過查詢日誌(參考“查看日誌信息”)進行恢復,如下圖:
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章