svn如何安裝,svn如何配置,svn安裝配置

來源:酷知科普網 1.82W

svn(subversion)是近年來崛起的版本管理工具,是cvs的接班人。目前,絕大多數開源軟體都使用svn作為程式碼版本管理軟體。如何快速建立Subversion伺服器,並且在專案中使用起來,這是大家最關心的問題,與CVS相比,Subversion有更多的選擇,也更加的容易,幾個命令就可以建立一套伺服器環境,
本文是使用Subversion最快速的教程,在最短的時間裡幫助您建立起一套可用的伺服器環境,只需略加調整就可以應用到實際專案當中。
本教程分為以下幾個部分,為了說明簡單,教程是在windows下使用的方式,以方便資源有限的專案使用。在UNIX環境下,只是安裝方式不同,命令執行並無太大區別。

操作方法

(01)軟體下載<1>、下載Subversion伺服器程式到官方網站的下載二進位制安裝檔案,來到二進位制包下載部分,找到 Windows NT, 2000, XP and 2003部分,然後選擇Apache 2.0 或者 Apache 2.2,這樣我們可以看到許多下載的內容,目前可以下載 。<2>、下載Subversion的Windows客戶端TortoiseSVN。TortoiseSVN是擴充套件Windows Shell的一套工具,可以看作Windows資源管理器的外掛,安裝之後Windows就可以識別Subversion的工作目錄。官方網站是TortoiseSVN,下載方式和前面的svn伺服器類似,在Download頁面的我們可以選擇下載的版本,目前的最高穩定版本的安裝檔案為。

(02)svn伺服器和客戶端安裝<1>、安裝Subversion,直接執行 ,根據提示安裝即可,這樣我們就有了一套伺服器可以執行的環境。<2>、安裝TortoiseSVN,同樣直接執行按照提示安裝即可,不過最後完成後會提示是否重啟,其實重啟只是使svn工作拷貝在windows中的特殊樣式生效,與所有的實際功能無關,這裡為了立刻看到好的效果,還是重新啟動機器。<3>、安裝svn的客戶端程式,需要的話還可以安裝svn的語言包,注意語言包的版本也必須與客戶端程式的版本一致

(03)建立版本庫(Repository)執行Subversion伺服器需要首先要建立一個版本庫(Repository),可以看作伺服器上存放資料的資料庫,在安裝了Subversion伺服器之後,可以直接執行,如:svnadmin create E:svndemorepository就會在目錄E:svndemorepository下建立一個版本庫。我們也可以使用TortoiseSVN圖形化的完成這一步:在目錄E:svndemorepository下"右鍵->TortoiseSVN->Create Repository here...“, 然後可以選擇版本庫模式, 這裡使用預設即可, 然後就建立了一系列目錄和檔案。

svn如何安裝,svn如何配置,svn安裝配置

(04)SVN配置使用者和許可權來到E:svndemorepositoryconf目錄,修改:# [general]# password-db = passwd改為:[general]password-db = passwd然後修改同目錄的passwd檔案,去掉下面三行的註釋:# [users]# harry = harryssecret# sally = sallyssecret最後變成:[users]harry = harryssecretsally = sallyssecret在passwd檔案中,“=”前的字元就是使用者名稱,後面的就是密碼。還要注意“[users]”前面的註釋“#”一定要刪除掉。

svn如何安裝,svn如何配置,svn安裝配置 第2張

(05)執行獨立伺服器在任意目錄下執行:svnserve -d -r E:svndemorepository 我們的伺服器程式就已經啟動了。注意不要關閉命令列視窗,關閉視窗也會把svnserve停止。

(06)初始化匯入來到我們想要匯入的專案根目錄,在這個例子裡是E:svndemoinitproject,目錄下有一個檔案:右鍵->TortoiseSVN->Import...在URL of repository輸入“svn://localhost/trunk”在Import Message中輸入你的日誌資訊完成之後目錄沒有任何變化,如果沒有報錯,資料就已經全部匯入到了我們剛才定義的版本庫中。需要注意的是,這一步操作可以完全在另一臺安裝了TortoiseSVN的主機上進行。例如執行svnserve的主機的IP是,則URL部分輸入的內容就是“svn://”。

svn如何安裝,svn如何配置,svn安裝配置 第3張

(07)基本客戶端操作取出版本庫到一個工作拷貝:來到任意空目錄下,在本例中是E:svndemowc1,執行右鍵->Checkout,在URL of repository中輸入svn://localhost/trunk,這樣我們就得到了一份工作拷貝。在工作拷貝中作出修改並提交:開啟,作出修改,然後右鍵->Commit...,這樣我們就把修改提交到了版本庫,我們可以執行。察看所作的修改:上右鍵->TortoiseSVN->Show Log,這樣我們就可以看到我們對這個檔案所有的提交。在版本1上右鍵->Compare with working copy,我們可以比較工作拷貝的檔案和版本1的區別。最後,所有的內容都已經錄製為動畫檔案,大家可以參考。關於本教程大家有什麼意見,可以這裡討論 。如果更新檔案以後,有兩個人或者多個人同時修改了某個檔案的某個位置,是否衝突,(一般不會這樣子,因為上傳的版本是可以編譯通過的,而且每個人負責自己的模組,不會多人獨立修改同一個檔案,別人也是先更新,後上傳修改,,,,)開發者習慣性動作。早上上班第一件事就是更新svn版本庫,再開始一天的工作。晚上下班,或者其他時候要上傳東西可以直接上傳因為你負責的東西沒人去修改。衝突是怎麼產生的呢:因為不同的人,同時修改了同一個檔案的同一個地方,這個時候,他提交了,你沒有提交,你就提交不了,這個時候,你要先更新,更新就會出現程式碼衝突問題。最好不要多人同時修改一個檔案,公用的檔案,更改之前要和大家溝通一下,或者解決衝突 呵呵先更新,沒有衝突,再提交。有衝突,解決衝突再提交。否則也提交不了。對於一些處於衝突狀態下的檔案 ,右鍵TortoiseSVN ->Resolved,解決衝突。解決衝突: 更新-解決衝突-刪掉以下三個檔案-提交(如果自己沒有修改的檔案有衝突,刪除再更新即可,自己修改的檔案解決衝突)   是衝突前自己的檔案.版本號   是衝突前本地的版本檔案.伺服器的版本號   是衝突後伺服器版本檔案

特別提示

如果修改檔案後提交不了,大多是因為版本不一致造成的。更新一下,不產生衝突的情況,就可以提交了。

更新檔案,如果出現衝突的情況,開啟衝突檔案會看到類似以下的內容<br/>&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;<br/>asdfadfadfadf<br/>11111111111111<br/>=======<br/>asdfadfadfadf<br/>111111111111111<br/>222222222222<br/>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br/>結合別人修改的內容和自己修改的內容,然後把檔案中的&lt;&lt;&lt;&lt;&lt;,=====,&gt;&gt;&gt;&gt;&gt;&gt;&gt;這類衝突符號去掉。去掉後,還是不能提交的,為什麼?因為衝突時會產生三個檔案,有這三個檔案存在肯定提交不了。<br/>客戶端用的tortoisesvn(這個估計程式設計師用的最多),衝突時會多產生,三個檔案<br/>   是衝突前自己的檔案<br/>.版本號   是衝突前本地的版本檔案<br/>.伺服器的版本號   是衝突後伺服器版本檔案<br/>提交的時候,把這三個檔案刪除掉就可以提交了。

產生覆蓋的原因。<br/>a),在修改衝突檔案時,把別人程式碼都刪除掉了,只留下了自己的程式碼。這樣就會產生覆蓋了。<br/>b),把中的內容直接copy到檔案,這樣也會產生程式碼覆蓋。<br/>上面二種情況都是我親眼看到新手這樣操作的,要避免這二種操作方法。

熱門標籤