1. 先提到變動列表中,再commit(提交)到配置庫中。右鍵新增文件,SVN菜單執行「Add「操做提交到」變動列表中」,而後執行」SVN Commit」提交到版本庫中。
2. 不提交到變動列表中,而是直接commit配置庫中,選擇該文件,右鍵svn菜單執行」SVN Commit」操做。
6 刪除(Delete)
要刪除文件分兩種:
1 版本庫中,沒有這個文件 ,可直接刪除。 意思是,SVN update後,新建的文件,還未入庫(未作 svn commit)。
2 版本庫中 ,已有這個文件。也認爲 文件歸入版本庫管理。
操做方法:右鍵文件,TortoiseSVN菜單中選 delete 操做。而後在空白處右鍵菜單執行 SVN commit ,在變動列表中選被刪除文件。文件14.txt
6.jpg (15.61 KB, 下載次數: 0)
下載附件
2015-12-29 15:18 上傳
7更名
修改文件名,右鍵文件,右鍵「TortoiseSVN」 菜單中 「Rename「。更改文件名後,文件會變爲藍色加號狀態。
注意此時,svn commit 提交版本時,必定要在空白處 選擇 svn commit ,不要在更改後文件的文件上選擇。
在文件狀態下可看到兩個文件,一個更改前的文件,一個更改後的文件。提交便可。以下圖
7.jpg (13.4 KB, 下載次數: 0)
下載附件
2015-12-29 15:18 上傳
8SVN文件版本(日誌)查看
右鍵 文件,TortoiseSVN下的」show log」設定好日期後查看歷史版本號:
注意若是日期不能選擇,請修改SVN服務文件 svnserve.conf 將下列選項設爲none
anon-access = none
8.png (12.52 KB, 下載次數: 0)
下載附件
2015-12-29 15:18 上傳
9SVN還原
右擊文件,TortoiseSVN菜單中」Update to reversion…」 在彈出窗口中選擇 show log 查看歷史版本,選擇想要的版本便可。
也可直接在Revision中填寫相應的版本號。
9.jpg (11.74 KB, 下載次數: 0)
下載附件
2015-12-29 15:18 上傳
10 檢查更新:
TortoiseSVN菜單中 Check for modifications 選項。
顯示所作的修改有哪些尚未提交,此功能不光能看到對文件的修改變化,全部的變化都能看到,包括增長文件或者目錄,刪除文件或者目錄,移動文件或者目錄等,若是你點擊了檢查版本庫,那你還能夠看到版本庫裏的改動,既別人提交了哪些文件的改動,你還沒更新到本地,
10.jpg (18.71 KB, 下載次數: 0)
下載附件
2015-12-29 15:18 上傳
11 解決衝突文件
使用的軟件,通常發佈時都標有版本號。好比說我當前使用的有道筆記,這個是發佈後版本號。那麼相似的在開發環境中,確定存在不少版本進行測試修改。如何標明控制版本,以及恢復,或是修改某個版本。都須要在版本控制軟件下進行操做。
11.jpg (2.77 KB, 下載次數: 0)
下載附件
2015-12-29 15:24 上傳
所謂的衝突文件,簡單舉例:
假如當前測試環境下版本號爲100,版本服務器上svn庫中有一個文件 1.txt ,A和B 都準備修改他。
首先,兩人在各自的TortoiseSVN客戶端同時進行更新,各自取得了版本號100的文件 1.txt.
而後,A先修改完畢後,進行了提交,併成功。此時1.txt 版本號變爲101.而B仍然在編輯版本號爲100的1.txt
最後,當B修改完畢時,進行提交,此時不會成功,並報錯 版本衝突。主要緣由:B修改的是基於版本號100的1.txt,他提交的不是在當前最新的101版本上做的修改。服務器沒法對新的文件更新。
打個比方:一張A4紙,正反兩面均可以打印,正面打印完,反面是空白。此時A和B都知道,他們都有打印需求。A先打印反面,此時B不知道。假如,B用這張紙去打印,就會把A打印的覆蓋,此時就產生了衝突。
固然這個比方不是太恰當。
如下面爲例:s1和svn1都指向同一個庫,版本同樣。庫中有兩個文件18.txt和 test212.txt
11a.jpg (19.37 KB, 下載次數: 0)
下載附件
2015-12-29 15:24 上傳
11b.jpg (5.76 KB, 下載次數: 0)
下載附件
2015-12-29 15:24 上傳
同時更新18.txt,但不提交。
11c.jpg (25.54 KB, 下載次數: 0)
下載附件
2015-12-29 15:24 上傳
先提交 svn1下的18.txt,此時再提交s1下的18.txt文件。會提示報錯。
11d.jpg (14.18 KB, 下載次數: 0)
下載附件
2015-12-29 15:24 上傳
update後會在文件夾下產生三個文件。
11e.jpg (4.25 KB, 下載次數: 0)
下載附件
2015-12-29 15:24 上傳
其中:18.txt.r22是衝突前的版本。18.txt.r23是現有服務器上的版本。18.txt.mine是本機對18.txt.r22版本修改後產生的分支。
18.txt 打開後,會發現多出衝突內容:以下
11f.jpg (8.4 KB, 下載次數: 0)
下載附件
2015-12-29 15:24 上傳
其中:<<<<<<< .mine 以前是未產生衝突以前的代碼:
到====== 是本機修改的代碼:
========到>>>>>>>.r23 是別人與我衝突的代碼。
解決方法:
1 使用 revert(回滾) 操做: 這表示 用戶放棄這次更新的代碼:把服務器上的最新代碼 r23版本更新到本機。而後從新添加 用戶的添加 再提交。
上面文檔最後會變爲
14sdf
23
2種:右鍵文件,
TortoiseSVN下的 Editconficts (編輯)選項,通過協商後更改後再提交文檔。
11g.jpg (50.14 KB, 下載次數: 0)
下載附件
2015-12-29 15:24 上傳
紅色是衝突代碼. theirs 表示服務器最新代碼,mine 表示本身修改代碼。 merged表示合併 後代碼。
點擊紅色的代碼,可選擇 use this text block ,表示將該代碼做爲合併後的代碼。
11h.jpg (8.34 KB, 下載次數: 0)
下載附件
2015-12-29 15:24 上傳
最後保存: save 有兩個選項,一個修改狀態爲modified(修正),另外一個仍保持爲conflict(衝突)。
save as 有三個選項:left file ,right file ,bottom file.
此處保存爲:save --> modified。而後經過commit 提交
12c.jpg (1.41 KB, 下載次數: 0)
下載附件
2015-12-29 15:27 上傳
便可。18.txt文檔的版本會增長到24.
11i.jpg (12.99 KB, 下載次數: 0)
下載附件
2015-12-29 15:24 上傳
11j.jpg (12.54 KB, 下載次數: 0)
下載附件
2015-12-29 15:24 上傳
12 版本上鎖。版本庫瀏覽
右鍵文件 選擇
TortoiseSVN--> get lock 。會將文件上鎖,此時版本庫中此文件處於非編輯狀態。
可經過,
12a.jpg (3.72 KB, 下載次數: 0)
下載附件
2015-12-29 15:24 上傳
查看 文件信息及上鎖用戶。
下降衝突解決的複雜度:
一、當文檔編輯完成後,儘快提交,頻繁的提交/更新能夠下降在衝突發生的機率,以及發生時解決衝突的複雜度。
二、在提交時,寫上明確的message,方便之後查找用戶更新的緣由,隨着時間的推移,對當初更新的緣由有可能會遺忘 。
三、養成良好的使用習慣,使用SVN時每次都是先提交,後更新。天天早上打開後,首先要從版本庫獲取最新版本。天天下班前必須將已經編輯過的文檔都提交到版本庫。