客戶端使用說明
新建文件夾,右鍵點擊
點擊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)刪除文件
右鍵文件,進行刪除操作,如下圖:
刪除後,進行提交操作。
如果想要恢復刪除文件,可通過查詢日誌(參考“查看日誌信息”)進行恢復,如下圖: