安裝及使用VisualSVN-Server(SVN服務(wù)器工具)
SVN是一款集中式版本庫(kù)控制工具
VisualSVN-Server及Cornerstone下載鏈接
VisualSVN-Server的安裝及使用
-
在windows平臺(tái)上安裝VisualSVN-Server圖解:
<pre>
安裝圖步驟1.png
安裝圖步驟2.png
安裝圖步驟3.png
安裝圖步驟4.png
安裝圖步驟5.png
安裝圖步驟6.png
安裝圖步驟7.png
由于軟件不會(huì)自己創(chuàng)建快捷方式,為了簡(jiǎn)單操作,可以自己創(chuàng)建快捷方式:

</pre>
2 . VisualSVN-Server常見(jiàn)操作圖解
<pre>
-
創(chuàng)建倉(cāng)庫(kù)圖解
創(chuàng)建一個(gè)新的倉(cāng)庫(kù)步驟1.png
創(chuàng)建一個(gè)新的倉(cāng)庫(kù)步驟2.png
創(chuàng)建一個(gè)新的倉(cāng)庫(kù)步驟3.png
創(chuàng)建一個(gè)新的倉(cāng)庫(kù)步驟4.png
創(chuàng)建一個(gè)新的倉(cāng)庫(kù)步驟5.png -
在倉(cāng)庫(kù)中創(chuàng)建新文件夾
在倉(cāng)庫(kù)中創(chuàng)建文件夾.png -
創(chuàng)建新用戶
創(chuàng)建新用戶1.png
創(chuàng)建新用戶2.png -
添加分組
添加分組1.png
添加分組2.png -
設(shè)置讀寫(xiě)權(quán)限
設(shè)置讀寫(xiě)權(quán)限.png
</pre>
SVN初始化項(xiàng)目及常用操作
- 將服務(wù)器已有的內(nèi)容下載到本地(提示:checkout(co)之后,命令行會(huì)記錄用戶名和密碼,后續(xù)操作不用再另行指定)
checkout==co
<pre>
$ svn checkout https://172.16.83.128/svn/ingke/ --username=用戶名 --password=密碼
</pre>
錯(cuò)誤提示:"is not a working copy",必須在svn的工作目錄下才能正確使用svn的命令
如果出現(xiàn)https://協(xié)議問(wèn)題,在問(wèn)題代碼后直接鍵入p按回車(chē)
- 初始化項(xiàng)目
- 進(jìn)入工作目錄 (含有
.svn文件夾的目錄)
- 初始化項(xiàng)目 (將工程拖到工作目錄下)
- 將初始化的項(xiàng)目添加到本地代碼倉(cāng)庫(kù)中
svn add 文件名 - 將文件提交到服務(wù)器(
commit==ci)
svn commit -m "注釋" - 參看本地代碼庫(kù)狀態(tài)
svn status / svn st 顯示的文件狀態(tài)(`st==status`)
狀態(tài)碼 描述文字
空白沒(méi)有修改A文件已被添加到本地倉(cāng)庫(kù)管理中,但是還未添加到服務(wù)器中(服務(wù)器的倉(cāng)庫(kù)還未管理該文件)C沖突D該文件已經(jīng)在本地被刪除,但還沒(méi)有將刪除操作共享給服務(wù)器I被忽略M文件已經(jīng)被本地管理,并且服務(wù)器也有該文件,但是新修改的修改內(nèi)容沒(méi)有被提交到服務(wù)器R被替換X外部定義創(chuàng)建的版本目錄?svn不識(shí)別該文件,或者該文件被刪除過(guò),或者該文件是新添加的文件,還沒(méi)有被本地代碼倉(cāng)庫(kù)進(jìn)行管理!文件丟失或者不完整(不是通過(guò)svn命令刪除的文件)~受控文件被其他文件阻隔個(gè)人基本操作
- 修改文件之后,使用
svn commit -m "注釋"重新提交到服務(wù)器
刪除文件(一定要使用svn操作指令刪除文件)
svn remove 文件名(remove==rm==delete==del)撤銷(xiāo)修改:
$ svn revert 文件名多人開(kāi)發(fā)
svn update從服務(wù)器上下載更新最新的內(nèi)容
- 錯(cuò)誤提示
out of date表示文件過(guò)期 (不能提交代碼的情況:當(dāng)本地的版本號(hào)小于服務(wù)器的版本號(hào)時(shí),不能進(jìn)行提交) - 錯(cuò)誤提示
Conflict discovered in '沖突路徑'
沖突解決選項(xiàng):
1. 常用選項(xiàng):
(p) postpone :生成文件,讓使用者對(duì)比沖突,手動(dòng)修改,(修改完成后,使用代碼:`svn resolved 文件名` 刪除生成的多余文件)

(mc) mine-conflict :使用我的代碼覆蓋服務(wù)器的代碼
(tc) theirs-conflict :使用服務(wù)器的代碼覆蓋我的代碼
2.不常用選像
(e) edit :在命令行中編輯文件
(df) diff-full : 在命令行中展示所有的不同
(s) show all options :重新展示所有選項(xiàng)
svn版本回退操作(借鑒crazy hacking的專(zhuān)欄)
查看之前更新過(guò)的版本
$ svn log//查看svn日志
$ svn log filename//查看某一個(gè)文件的日志
$ svn log filename@1//查看某一個(gè)文件某一個(gè)版本的日志更新到之前某個(gè)版本
$ svn update -r 版本號(hào)使服務(wù)器恢復(fù)到之前某個(gè)版本
1). 使用
svn update -r 版本號(hào)回到之前版本,查看是否是我們需要的版本
2). 使用svn update回到最新版本
3). 將最新版本合并到某一個(gè)版本svn merge -r 最新版本號(hào):回退版本號(hào) 希望回退的文件名
4). 使用svn ci -m "注釋"重新提交改變服務(wù)器文件內(nèi)容
注意:還可以使用svn merge --dry-run來(lái)模擬假裝merge一下,看一下merge會(huì)發(fā)生什么,而不是真正的做這個(gè)動(dòng)作。
(svn merge --dry-run -r:2011:2010 http://my.repository.com/my/project/trunk
svn merge -r:2011:2010 http://my.repository.com/my/project/trunk
svn commit -m "Reverted to revision 2010.")
- 使用cornerstone實(shí)現(xiàn)版本回退
IOS開(kāi)發(fā)中,SVN如何恢復(fù)到某一個(gè)版本(以Cornerstone為例)

















