一、程式下載下傳與安裝 Subversion是SVN的服務端,下載下傳位址:我下載下傳的是svn-win32-1.6.5.zip,隻要解壓就可以了。
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91
SVN用戶端的下載下傳位址:
http://tortoisesvn.net/downloads
TortoiseSVN 是一個用戶端程式,用來與 subvers 伺服器端通訊。Subversion 自帶一個用戶端程式 svn.exe ,但 TortoiseSVN 更好操作,提高效率。
SVN服務端跟用戶端下載下傳好了,接下來就可以安裝。
二、啟動伺服器 我的服務端是解壓在C:/Program Files/Subversion下,把Subversion下bin的路徑在Windows環境裡配置一下,Path指定為C:/Program Files/Subversion/bin
接下來就進入指令行,在運作裡輸入CMD,進入指令行後,輸入以下指令:
sc create svn binpath= "C:/Program Files/Subversion/bin/svnserve.exe --service -r D:/svn" displayname= "Subversion Server" depend= Tcpip start= auto
這指令中的C:/Program Files/Subversion/bin/為服務端的路徑,D:/svn為存放SVN庫的路徑,以後所有的項目都存放在這裡。這樣,SVN就交給Windows服務管理,服務名為svn。每次啟動電腦的時候就會自動啟動SVN服務,你也可以在Windows服務裡更改啟動設定,比如:手動。
如果不想交給Windows服務管理,你也可以在指令行輸入以下指令:
sc detele svn //删除名為svn的服務
一旦定義了服務,就可以使用标準GUI工具(服務管理控制台)進行停止、啟動和查詢,或者是通過指令行:
net stop svn
net start svn
運作Subversion伺服器需要首先要建立一個版本庫(Repository)。版本庫可以看作是伺服器上集中存放和管理資料的地方。
開始建立版本庫。以之前建立的D:/svn空檔案夾作為所有版本庫的根目錄。然後,進入指令行輸入如下指令:
svnadmin create d:/svn/repos1
此指令在 d:/svn 下建立一個版本庫 repos1 。repos1 下面會自動生成一些檔案夾和檔案。
我們也可以使用 TortoiseSVN 圖形化的完成這一步:
先建立空目錄 d:/svn/repos1 ,注意一定是要空的。然後在 repos1 檔案夾上“右鍵->TortoiseSVN->Create Repository here...”,然後可以選擇版本庫模式,這裡使用預設的FSFS即可,然後就建立了一系列檔案夾和檔案,同指令行建立的一樣。
如果subversion 服務還沒有開啟,需要啟動SVN服務,啟動SVN服務的方法有多種,沒有沒有交給Windows管理,可以在指令行中輸入:
svnserve.exe --daemon --root d:/svn
如果交給Windows服務管理,可以在指令視窗輸入:
net start svn
然後在TortoiseSVN中的版本庫浏覽器URL輸入為:svn://localhost/repo1即可檢視SVN裡的檔案。
三、在服務端建立版本庫
下面就是将我們的資料(項目)導入到這個版本庫,以後就由版本庫管理我們的資料。我們的任何改動都回被版本庫記錄下來,甚至我們自己丢失、改錯資料時版本庫也能幫我們找回資料。
比如,我在 d:/wwwroot 下有個 imageview 檔案夾,裡面存放的是我編寫的項目。在此檔案夾上“右鍵 -> TortoiseSVN -> Import...” ,在彈出對話框的“URL of repository”輸入“svn://localhost/repos1/imageview”。在“Import message”輸入“導入整個留言簿”作為注釋。
點 OK 後要求輸入帳号。我們在使用者名和密碼處都輸入 使用者名跟密碼(如果沒有設定就不要輸入)。完成後 guestbook 中的内容全部導入到了 svn://localhost/repo1/imageview 。
我們看到在 d:/svn/repo1 沒有任何變化,連個 imageview 檔案夾都沒有建立,唯一的變化就是d:/svn/repo1容量變大了。實際上我們源imageview中的内容已經導入 repo1 版本庫了,源 imageview 檔案夾可以删除了。
需要注意的是,這一步操作可以完全在另一台安裝了 TortoiseSVN 的客戶機上進行。例如運作svnserve的主機的IP是133.96.121.22,則URL部分輸入的内容就是“svn://133.96.121.22/repo1/imageview” 。
四、服務端使用者配置
配置使用者和權限
用文本編輯器打開d:/svn/repos1/conf目錄,修改svnserve.conf:
将:
# password-db = passwd
改為:
password-db = passwd
即去掉前面的 # 注釋符,注意前面不能有空格。
然後修改同目錄的passwd檔案,增加一個帳号:
将:
[users]
# harry = harryssecret
# sally = sallyssecret
增加帳号:
[users]
#harry = harryssecret
#sally = sallyssecret
test = test
五、用戶端基本操作
基本操作流程
1、取出(check out)
取出版本庫到一個工作拷貝:
來到任意空目錄下,比如在f分區建立一個空檔案夾 f:/work 。“右鍵 -> SVN Checkout”。在“URL of repository”中輸入“svn://localhost/repo1/guestbook”,這樣我們就得到了一份 guestbook 中内容的工作拷貝。
2、存入(check in)/送出(commit)
在工作拷貝中作出修改并送出:
在 guestbook 工作拷貝中随便打開一個檔案,作出修改,然後“右鍵 -> SVN Commit... ”。這樣我們就把修改送出到了版本庫,版本庫根據情況存儲我們送出的資料。
在修改過的檔案上“右鍵 -> TortoiseSVN -> Show Log” ,可以看到對這個檔案所有的送出。在不同的 revision 條目上“右鍵 -> Compare with working copy”,我們可以比較工作拷貝的檔案和所選 revision 版本的差別。
如果要與eclipse或myeclipse內建,隻須下一個eclipse插件就可以了。下面是插件的下載下傳位址。
http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240