前言
為了工作內(nèi)容學(xué)習(xí)SVN。SVN是一個(gè)C/S類型的版本管理,對(duì)服務(wù)器依賴很大,大部分操作是和SVN服務(wù)器有關(guān)的。
最常見的操作流程
這里假設(shè)服務(wù)器項(xiàng)目的地址是svn://192.168.1.1/shop
- 通過checkout檢出項(xiàng)目
- update 更新服務(wù)器的項(xiàng)目到本地
- commit 提交本地的更改
如何部署一個(gè)svn服務(wù)器
因?yàn)檫@個(gè)svn是一個(gè)c/s類型的軟件,得部署服務(wù)器才能夠使用。所以得先弄個(gè)服務(wù)器出來供我們測(cè)試。
為了盡可能簡(jiǎn)單,這里在Windows下面安裝一個(gè)visualsvn的軟件來當(dāng)作我們的服務(wù)器。注意一般服務(wù)器是運(yùn)行在Linux的,這里只是為了上手方便才使用Windows的服務(wù)器軟件。在官網(wǎng)很容易就能下載到visualsvn server的軟件。我下了個(gè)3.9的版本。用就用最新穩(wěn)定版。中間有一步選標(biāo)準(zhǔn)版,其他的按照默認(rèn)來就可以了。其中有一個(gè)端口號(hào)的選擇,注意一下不要和本機(jī)的端口沖突了。默認(rèn)端口是443,你可以改成8443。
在服務(wù)器端創(chuàng)建一個(gè)測(cè)試項(xiàng)目
因?yàn)閟vn項(xiàng)目就是倉庫,就是一個(gè)文件夾。我們需要建立一個(gè)文件夾。打開D:\Repositories文件夾,在該目錄下面運(yùn)行命令svnadmin create test1,這樣就建立了一個(gè)項(xiàng)目。為了其他用戶能夠訪問該目錄,需要使用svnserve命令啟動(dòng)服務(wù)器,這個(gè)稍后再說。這里還需要配置權(quán)限設(shè)置。打開test1目錄下面的conf目錄svnserve.conf,將其中的anon-access 的注釋去掉,將值改為write。此時(shí)允許匿名訪問,并可寫
然后在D:\Repositories目錄下運(yùn)行命令:
svnserve -d -r ./test1
這一步是打開svn服務(wù)器的監(jiān)聽狀態(tài)。
svn客戶端常用操作
下載TortoiseSVN進(jìn)行安裝。
checkout 檢出
然后,在需要同步的目錄下面單機(jī)右鍵,選擇tortoise中的rebo-bowser,并輸入svn://127.0.0.1確認(rèn)。在文件夾圖標(biāo)上右鍵選擇checkout并確認(rèn),此時(shí)檢出成功。commit
添加一個(gè)txt文件,隨便寫點(diǎn)東西。然后右鍵commit。即可commit到服務(wù)器端。update
A開發(fā)者將提交的數(shù)據(jù)提交后,服務(wù)器發(fā)生了變化,B開發(fā)者需要同步。右鍵update即可。ignore
不需要提交文件時(shí),在文件上面右鍵然后選擇add to ignore list中
SVN版本
svn版本從1開始遞增。svn可以會(huì)退版本。svn可以進(jìn)行分支和合并操作,但是和git中的分支操作區(qū)別很大。似乎是重新創(chuàng)建了一個(gè)項(xiàng)目這樣的。最后合并也是只是把沖突合并了。和git基于diff進(jìn)行分支不同。