⑴ SVN怎樣建立版本庫
SVN怎麼安裝在這里就不進行詳細地介紹了,網路一下下載之後一直下一步都行。這里主要講解如何建立SVN的版本庫並保持同步更新。
在一個空白的文件夾下,右鍵單擊滑鼠。彈出菜單後點擊有個小烏龜標志的TortoiseSVN——Create repository here。
然後在彈出的菜單中可以看到版本庫的地址, 點擊確定按鈕完成版本庫的建立。
在文件夾下右鍵單擊滑鼠,在彈出的菜單中選擇TortoiseSVN——Repo-browser,可以查看當前版本下的文件目錄及內容。
打開版本的文件目錄後,右鍵點擊根目錄文件,在彈出的菜單中選擇Create folder選項創建根目錄下的文件夾。
輸入文件夾名稱後點擊ok按鈕創建文件夾。
這時會彈出提示框,讓你輸入這個文件夾的這個版本的一些說明,如果沒有需要說明的內容,可不輸入並點擊ok完成文件夾的創建。
版本庫及版本下的文件目錄就創建完成了。
⑵ 如何搭建svn伺服器
雙擊TortoiseSVN,會彈出安裝界面,一直Next最後Install即可,等待片刻即安裝完成
安裝漢化包,雙擊LanguagePack,後點擊Next最後Install,等待片刻即安裝完成
安裝Setup-Subversion,雙擊Setup-Subversion,後點擊Next最後Install,等待片刻即安裝完成
SVN漢化界面配置,在文件夾空白位置單機右鍵,選擇TortoiseSVN後點擊settings彈出界面,Genneral右側Language選擇"中文(簡體)",點擊應用確定即可
配置伺服器,在根目錄創建一文件夾ejsvn,進入文件夾,在文件夾空白位置單機右鍵,選擇TortoiseSVN後點擊"在此創建版本庫"
在E:\ejsvn\conf目錄下找到svnserve.conf,用記事本打開,找到
# password-db = passwd,將前面的#刪除,保存關閉
同一目錄下找到passwd,用記事本打開,找到
# harry = harryssecret
# sally = sallyssecret
刪除前面的#號,這里為用戶的賬號管理,賬號=密碼,注意別留空格;保存關閉
啟用SVN服務,按下windows+R鍵,輸入cmd進入命令界面,輸入svnserve -d -r e:\ejsvn;e:\ejsvn為你伺服器目錄;注意:注意:這是臨時打開的服務,命令執行後不能關閉窗口;也可將SVN服務設為自動啟動
sc create svnservice binpath= 「c:Program Files\Subversion\bin\svnserve.exe –service -r e:svn」
測試是否安裝成功,創建一文件夾,選擇文件夾單擊右鍵SVN 檢出;svn://192.168.0.108,此有伺服器IP地址,輸入賬號密碼,即第六步配置的賬號密碼;
如顯示」完畢 於版本0「即為安裝成功,
如果出現」期望格式在1~4之間,發現格式6「,則為TortoiseSVN與setup-subversion版本同,可下載相同版本安裝,也可在命令界面進入你TortoiseSVN的安裝Bin文件夾c: c:\Program Files\TortoiseSvn\bin 然後創建資料庫,注意刪除之前手動創建的,命令:svnadmin create e:\ejsvn
⑶ svn的一些基本的操作!!!
一、將版本庫中的資源簽出到本地工作區。首先,在本地硬碟中創建一個新的空文件夾,例如e: proj_trunk。右鍵單擊文件夾並選擇簽出選項,如下圖所示:
⑷ 如何在阿里雲伺服器上創建svn
1、下載綠色版svn(即zip壓縮包文件,如我下的是svn-win32-1.5.6.zip,當然下安裝版的也可以):
2、解壓下載下來的綠色版svn和安裝svn的windows客戶端TortoiseSVN,按照提示安裝就可以,為了能立馬看到效果,最好重啟下機器,呵呵
3、創建版本庫,打開命令窗口(開始->運行,鍵入cmd,回車),我的svn伺服器解壓目錄為F:\svn;在命令窗口輸入:
pushd F:\svn\bin
進入到svn解壓目錄下的bin目錄,建立版本庫,如我把版本庫安裝在:F:\svnrep,首先確認F盤下是否存在svnrep文件夾,沒有我們可以在命令窗口鍵入:
mkdir F:\svnrep
就會創建一個snvrep文件夾,接下來,運行如下命令:
svnadmin create F:\svnrep
這樣我們的版本庫就創建了,在F:\svnrep下你可以看到自動生成了一些文件及文件夾;同時,你也可以用TortoiseSVN的圖形界面來創建,在F:\svnrep文件夾中「右擊->TortoiseSVN->Create Repository here」, 同樣得到我們需要的結果,如果這文件夾已經創建有了,你再創建,會自動報錯。
4、配置用戶和許可權,打開F:\svnrep\conf目錄中的svnserve.conf文件,將[general](保證[general]這一行的前面不帶#號,有#號就將#號去掉)下面的
# password-db = passwd(大概在20行)及# authz-db = authz(大概在27行)
前的#號去掉。保存文件;
然後打開同目錄中的passwd文件(可以用記事本打開),在[users](保證[users]這一行的前面不帶#號,有#號就將#號去掉)下面添加用戶及此用戶對應的密碼,格式為:
admin = password
表示用戶為admin 密碼為password 保存文件。
同時也可以修改同目錄下的authz文件,主要是用來控制用戶對svn版本庫里哪些目錄的文件是否有讀或寫許可權,讀為r寫為w,如果要賦給admin對版本庫下的目錄都有讀和寫許可權,格式為:
[/]
admin = rw
/代表了svn版本庫下的起始位置,對於修改此文件的一些注意事項,可以到網上搜索下呵呵。
5、運行svn伺服器,在命令窗口輸入:
svnserve -d -r F:\svnrep
這樣,svn伺服器程序就啟動了。但不要關閉這個命令窗口,關閉就意味著svn伺服器停止。
6、導入項目到svn版本庫可以用TortoiseSVN客戶端進行導入,在要導入的項目文件夾上「右擊->TortoiseSVN->Import…」在URL of repository輸入
svn://localhost/項目名
在Import Message中可以輸入你的信息,點擊ok按鈕,就開始導入了,完成導入後,項目目錄沒有任何變化,導入過程中沒報錯的話,項目中的所有文件就導入到svn的版本庫里了;這個導入過程可以到任何一台能訪問你svn伺服器並安裝好TortoiseSVN客戶端的電腦上進行,在要導入的文件或文件夾上「右擊右擊->TortoiseSVN->Import…」,在URL of repository 輸入:
svn://svn伺服器IP/項目名
就OK
7、從版本庫中檢出,即復制出一份版本庫中的項目,在一個空的文件夾中「右擊->SVN Checkout」,在URL of repository中輸入:
svn://localhost/項目名
這樣我們就復制出了這個項目中的文件。
8、修改文件後更新到版本庫,當項目中的某一文件作了修改,可以通過在這個文件上「右擊->SVN Commit…」,這樣我們就將我們對這一文件的修改提交到了版本庫。
當然還有很多功能,查看文件修改,比較文件各版本中的修改及不同處,== 不一一介紹了。注意的是TortoiseSVN客戶端版本最好是和svn伺服器的版本一致,有時不一致的時候會發生錯誤。推薦小鳥雲,這些都是小鳥雲工程師告訴我的
⑸ 如何搭建本地SVN服務
搭建svn服務的方法步驟問題,主要有七個部分 。下面是具體的步驟介紹。
一、准備工作
1、獲取S version伺服器程序
到官方網站(htt p:/ /s version.tigris.org/)下載最新的伺服器安裝程序。目前最新的是1.5版本,具體下載地址 在:htt p:/ /s version.tigris.org/servlets /ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91
2、獲取TortoiseSVN客戶端程序
從官方網站htt p:/ /tortoisesvn.n et/downloads獲取最新的TortoiseSVN。TortoiseSVN是一個客戶端程 序,用來與s vers伺服器端通訊。S version自帶一個客戶端程序svn.exe,但TortoiseSVN更好操作,提高效率。
二、安裝伺服器端和客戶端
搭建svn服務第二步要安裝伺服器端和客戶端。安裝S version(以下簡稱SVN)的伺服器端和客戶端。下載下來的伺服器端是個zip壓縮包,直 接解壓縮即可,比如我解壓到E:\s version。客戶端安裝文件是個exe可執行文件,直接運行按提示安裝即可,客戶端安裝完成後提示重啟。
三、建立版本庫(Repository)
運行S version伺服器需要首先要建立一個版本庫(Repository)。版本庫可以看作是伺服器上集中存放和管理數據的地方。開始建立版本 庫。首先建立e:\svn空文件夾作為所有版本庫的根目錄。然後,進入命令行並切換到s version的bin目錄。輸入如下命 令:svnadmincreateE:\svn\repos1此命令在E:\svn下建立一個版本庫repos1。repos1下面會自動生成一些文件夾 和文件。我們也可以使用TortoiseSVN圖形化的完成這一步:先建立空目錄E:\svn\repos1,注意一定是要空的。然後在repos1文件 夾上「右鍵->TortoiseSVN->CreateRepositoryhere...」,然後可以選擇版本庫模式,這里使用默認的 FSFS即可,然後就創建了一系列文件夾和文件,同命令行建立的一樣。
四、運行獨立伺服器
搭建svn服務過程中要運行獨立伺服器。 此時s version服務還沒有開始,只是通過它的命令建立了 版本庫。繼續在剛才的命令窗口輸入:svnserve.exe--daemon
svnserve將會在埠3690等待請求,--daemon(兩個短橫線)選項告訴svnserve以守護進程方式運行,這樣在手動終止之前不會退 出。注意不要關閉命令行窗口,關閉窗口會把svnserve停止。為了驗證svnserve正常工作,使用TortoiseSVN->Repo- browser來查看版本庫。在彈出的URL對話框中輸入:svn://localhost/svn/repos1
點OK按鈕後就可以看見repos1版本庫的目錄樹結構了,只不過這時repos1是個空庫。你也可以使用--root選項設置根位置來限制伺服器的訪問 目錄,從而增加安全性和節約輸入svnserveURL的時間:svnserve.exe--daemon--rootdrive:\path\to \repository以前面的測試作為例,svnserve將會運行為:svnserve.exe--daemon--roote:\svn然後 TortoiseSVN中的版本庫瀏覽器URL縮減為:svn://localhost/repos1
五、配置用戶和許可權
用文本編輯器打開E:\svn\repos1\conf目錄,修改svnserve.conf:將:#password-db=passwd改 為:password-db=passwd
即去掉前面的#注釋符,注意前面不能有空格。然後修改同目錄的passwd文件,增加一個帳號:將:
[users]
#harry=harryssecret
#sally=sallyssecret
增加帳號:
[users]
#harry=harryssecret
#sally=sallyssecret
test=test
六、初始化導入
下面就是搭建svn服務時將我們的數據(項目)導入到這個版本庫,以後就由版本庫管理我們的數據。我們的任何改動都回被版本庫記錄下來,甚至我們自己丟 失、改錯數據時版本庫也能幫我們找回數據。
比如,我在d:\wwwroot下有個gstbook文件夾,裡面存放的是我編寫的留言簿程序。在此文件夾上「右鍵 ->TortoiseSVN->Import...」,在彈出對話框的「URLofrepository」輸入 「svn://localhost/repos1/gstbook」。在「Importmessage」輸入「導入整個留言簿」作為注釋。
點OK後要求輸入帳號。我們在用戶名和密碼處都輸入test。完成後gstbook中的內容全部導入到了svn://localhost/svn /repos1/gstbook。
我們看到在e:\svn\repos1沒有任何變化,連個gstbook文件夾都沒有建立,唯一的變化就是e:\svn\repos1容量變大了。實 際上我們源gstbook中的內容已經導入repos1版本庫了,源gstbook文件夾可以刪除了。需要注意的是,這一步操作可以完全在另一台 安裝了TortoiseSVN的客戶機上進行。例如運行svnserve的主機的IP是133.96.121.22,則URL部分輸入的內容就是 「svn://133.96.121.22」。
七、基本操作流程
1、取出(checkout)
取出版本庫到一個工作拷貝:
來到任意空目錄下,比如在f分區建立一個空文件夾f:\work。「右鍵->SVNCheckout」。在「URLofrepository」中輸 入「svn://localhost/svn/repos1/gstbook」,這樣我們就得到了一份gstbook中內容的工作拷貝。
2、存入(checkin)/提交(commit)
在工作拷貝中作出修改並提交:
在gstbook工作拷貝中隨便打開一個文件,作出修改,然後「右鍵->SVNCommit...」。這樣我們就把修改提交到了版本庫,版本庫 根據情況存儲我們提交的數據。
在修改過的文件上「右鍵->TortoiseSVN->ShowLog」,可以看到對這個文件所有的提交。在不同的revision條目上 「右鍵->Comparewithworking」,我們可以比較工作拷貝的文件和所選revision版本的區別。本節介紹搭建SVN服 務完畢,請關注本節其他相關報道。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
搭建好svn後創建svn版本
1、創建一個空文件夾,右鍵->TortoiseSVN->CreateRepositoryhere,然後該文件夾會自動生成一些文件出來
2、用文本編輯器打開E:\svn\repos1\conf目錄,修改svnserve.conf:將:#password-db=passwd改 為:password-db=passwd
即去掉前面的#注釋符
3、修改同目錄的passwd文件,增加一個帳號
增加帳號:
[users]
#harry=harryssecret
#sally=sallyssecret
amylv=amylv
4、初始化導入 比如在d:\wwwroot下有個gstbook文件夾,在此文件夾上「右鍵 ->TortoiseSVN->Import...」,
輸入你的用戶名跟密碼
到此ok了
附:svn伺服器端只能裝在c盤下 svnserve.exe --daemon 這個命令才能使用,版本庫也必須放在c盤下svn://localhost 對應的是c盤直接目錄
如果你創建的文件夾目錄為 c:/svnlib/weibo。那麼import的地址為svn://localhost/svnlib/weibo
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
安裝了兩次終於明白應該注意什麼了,總結一個最簡單的說明,節省大家時間
1、獲取svn程序
2、安裝 S version(以下簡稱SVN)的伺服器端和客戶端。下載下來的伺服器端是個 zip壓縮包,直接解壓縮即可,比如我解壓到 E:\s version 。客戶端安裝文件是個 exe 可執行文件,直接運行按提示安裝即可,客戶端安裝完成後提示重啟。
3、先建立空目錄 E:\svn\repos1 ,注意一定是要空的。然後在 repos1 文件夾上「右鍵->TortoiseSVN->Create Repository here...」,然後可以選擇版本庫模式,這里使用默認的FSFS即可,然後就創建了一系列文件夾和文件,同命令行建立的一樣。
(這一步注意svn服務端要和庫目錄在同一個盤符下面,否則提示找不到目錄)
4、進入命令行並切換到s version的bin目錄。輸入如下命令:
svnserve.exe --daemon
svnserve 將會在埠 3690 等待請求,--daemon(兩個短橫線)選項告訴 svnserve 以守護進程方式運行,這樣在手動終止之前不會退出。注意不要關閉命令行窗口,關閉窗口會把 svnserve 停止
5、配置用戶和許可權
用文本編輯器打開E:\svn\repos1\conf目錄,修改svnserve.conf:
將:
# password-db = passwd
改為:
password-db = passwd
即去掉前面的 # 注釋符,注意前面不能有空格。
然後修改同目錄的passwd文件,增加一個帳號:
將:
[users]
# harry = harryssecret
# sally = sallyssecret
增加帳號:
[users]
#harry = harryssecret
#sally = sallyssecret
test = test
6、初始化導入
(在做這一步之前一定要執行第5步)
下面就是將我們的數據(項目)導入到這個版本庫,以後就由版本庫管理我們的數據。我們的任何改動都回被版本庫記錄下來,甚至我們自己丟失、改錯數據時版本庫也能幫我們找回數據。
比如,我在 d:\wwwroot 下有個 gstbook 文件夾,裡面存放的是我編寫的留言簿程序。在此文件夾上「右鍵 -> TortoiseSVN -> Import...」 ,在彈出對話框的「URL of repository」輸入「svn://localhost/repos1/gstbook」。在「Import message」輸入「導入整個留言簿」作為注釋。
點 OK 後要求輸入帳號。我們在用戶名和密碼處都輸入 test 。完成後 gstbook 中的內容全部導入到了 svn://localhost/svn/repo1/gstbook 。
我們看到在 e:\svn\repo1 沒有任何變化,連個 gstbook 文件夾都沒有建立,唯一的變化就是e:\svn\repo1容量變大了。實際上我們源gstbook中的內容已經導入 repo1 版本庫了,源 gstbook 文件夾可以刪除了。
7、svn配置結束,這是最簡單的步驟,已經可以用了,然後把svn整合到系統服務,以後就不用一直開著命令窗口了。把以下內容粘貼到文本文件,然後重命名文件為:*.bat執行就好了,
sc create svnserver binpath= "C:\Program Files\S version\bin\svnserve.exe --service --root F:\svn" displayname= "svnserver" depend= tcpip start= auto obj= "NT AUTHORITY\NetworkService"
其中C:\Program Files\S version\bin\svnserve.exe 為svn的路徑
F:\svn 為版本庫的目錄
displayname= "svnserver" 為設置服務的名字
--root 是設置根目錄 比如:原來你訪問為:svn://localhost/svn
設置--root F:\svn之後縮寫為svn://localhost 這個一定要注意,否則Error: URL 'svn://localhost/svn'doesn't exist
8、svn能用了,下面是原始資料,稍微整理了一下,如果以上內容不能滿足,參考以下內容,希望沒有浪費寶貴時間。
⑹ 如何在windows上安裝部署設置SVN伺服器
一、准備工作
1、SVN伺服器:解壓縮包,可以從官方網站下載最新版本。
2、SVN客戶端:TortoiseSVN,即常說的小烏龜,是一個客戶端程序,用來與伺服器端通訊。
二、安裝伺服器和客戶端程序
1、SVN伺服器:直接解壓縮到某個文件夾下即可。示例路徑:c:\svn\
備註:如果下載的是msi程序,直接運行按提示安裝即可。
2、SVN客戶端:直接運行按提示安裝即可。示例路徑:C:\Program
Files\Subversion
三、建立版本庫(Repository):示例路徑:e:\svnroot。建立版本庫有兩種方法:
方法一,建立空目錄e:\svnroot\repos1,進入repos1文件夾,在空白處點擊右鍵,選擇「TortoiseSVN->Create
Repositoryhere...」,
方法二,建立空目錄e:\svnroot\repos2,進入DOS命令行,輸入如下命令:
svnadmincreate
e:\svnroot\repos2
四、運行SVN伺服器,啟動服務。啟動服務有兩種方法:
方法一,臨時啟動服務,在DOS下輸入如下命令:
svnserve
-d
-r
e:\svnroot\repos1
--listen-host
ip地址
--listen-port=埠號
說明:「listen-host」和「listen-port」可選。默認埠是3690,如果埠已經被佔用,可以通過選項listen-port指定埠號。
注意:請不要關閉命令行窗口,關閉窗口會把
svn服務就停止了。
方法二,啟動SVN服務為後台運行程序:
sc
create
svnserve
binPath=
"c:\svn\bin\svnserve.exe
--service
-r
e:\svnroot\repos1"
displayname=
"Subversion"
depend=Tcpip
start=
auto
說明一:
(1)sc是windows自帶的服務配置程序。svnserve是服務的名稱,可根據需求取名。
(2)參數binPath表示svnserve可執行文件的安裝路徑。
(3)--service表示以windows服務的形式運行,--r指明svnrepository的位置,service參數與r參數都作為binPath的一部分,因此與svnserve.exe的路徑一起被包含在一對雙引號當中。
(4)displayname表示在windows服務列表中顯示的名字,depend=Tcpip表示svnserve服務的運行需要tcpip服務,start=auto表示開機後自動運行。安裝服務後,svnserve要等下次開機時才會自動運行。
說明二:
(1)binPath的等號前面無空格,等號後面有空格。displayname、depend、start也一樣,service前面是--,不是-
,而r前面是-。
(2)若要卸載svn服務,則執行
sc
delete
svnserve
即可。
(3)從「sc」到「auto」是在同一個命令sc,必須寫在同一行。
(4)啟動服務命令:netstart
svnserve,停止服務命令:net
start
svnserve,也可以進入Windows提供的界面操作SVNService服務了,即控制面板—>服務。
(5)如果路徑中包括空格,一定要用「\」處理「"」號,例如上面的例子中如果svnserve.exe在「c:\programfiles\svn\」中,則命令應該寫為「binpath="\"c:\programfiles\svn\bin\svnserve.exe\"
五、配置用戶和許可權
(1)修改svnserve.conf,在e:\svn\repos1\conf目錄下,用文本編輯器打開svnserve.conf:
將:
#
anon-access
=
read
#
auth-access
=
write
#
password-db
=
passwd
改為
anon-access
=
read
auth-access
=
write
password-db
=
passwd
注意說明:
anon-access等列前面是沒有空格的。
anon-access
=
read表示沒通過用戶名密碼登錄的訪問只有讀的許可權,如果改為none則沒有用戶名密碼不能訪問
auth-access
=
write表示通過用戶名密碼登錄的有寫的許可權(當然讀的許可權也就有了)
password-db
=
passwd表示可以通過
用戶名
=
密碼
的方式在passwd文件中添加用戶
(2)修改同目錄的passwd文件,增加用戶帳號:
將:
[users]
#
harry
=
harryssecret
#
sally
=
sallyssecret
添加帳號:
[users]
#
harry
=
harryssecret
#
sally
=
sallyssecret
admin
=
admin
添加一個admin賬戶,密碼是admin。
6
六、初始化SVN,導入數據
選中要上傳SVN的文件夾,「右鍵
->TortoiseSVN
->
Import...」
,在彈出對話框的「URL
of
repository」輸入「svn://localhost/project1/」。在「Importmessage」輸入注釋,點擊OK,要求輸入帳號,輸入賬戶admin和密碼admin。
7
七,測試SVN
本地測試:新建一空文件夾test1,單擊右鍵,選擇「SVN
Checkout」,在「URL
of
repository」中輸入「svn://localhost/project1」。
其他機器測試:如果運行svnserve的主機IP地址是1.2.3.4,則URL輸入的內容就是「svn://1.2.3.4/project1」。
⑺ SVN如何創建各個管理庫,如文檔庫,代碼庫等
您好,SVN是C/S架構,數據存放分成伺服器端和客戶端。創建代碼庫一般指的是SVN伺服器端的操作,這個庫隨便建在什麼地方都可以;你要發布的線上代碼,這是存放在SVN的客戶端的。
SVN的伺服器端和客戶端存放文件的格式是不同的,所以不能直接訪問SVN伺服器端的存儲路徑,只能通過SVN客戶端將伺服器端的存儲內容checkout或者export出來。
理解上述這些基礎知識後,你應該就明白了,你要做的事情就是:
1、先建立一個SVN伺服器(可以專門安裝SVN伺服器端安裝包,建立用http/https或svn協議訪問的SVN伺服器;也可以簡單用TortoiseSVN創建本地的用files:///方式訪問的SVN伺服器);
2、在伺服器端建立一個空的版本庫,將你原有的www-web-項目 文件夾 上傳到SVN伺服器新建的版本庫中;
3、在你線上存放代碼的地方新建一個文件夾,並將版本庫中的內容checkout到這個新文件夾,設置這個文件夾是以後線上發布代碼的文件夾。
4、在你開發用的工作電腦上checkout一個文件夾出來,平時在這個文件夾修改代碼,修改完成後上傳到SVN伺服器,然後在線上代碼對應的文件夾那裡更新得到上傳的新代碼。
這樣的話,你的整個工作就分成了3個存儲位置:1、伺服器端,2、開發端,3、線上發布端,這就井井有條、互不幹擾了。
當然,SVN要用的好,還有很多技巧,比如分支/標記的使用,比如鉤子的使用(可以實現實時自動發布,每次從開發端提交後就自動更新線上發布端),那需要你繼續學習了。
⑻ SVN常用命令及例句
1、Linux命令行下將文件checkout到本地目錄
svn checkout path(path是伺服器上的目錄)
例如:svn checkout svn://192.168.1.1/pro/domain
簡寫:svn co
2、Linux命令行下往版本庫中添加新的文件
svn add file
例如:svn add test.php(添加test.php)
svn add *.php(添加當前目錄下所有的php文件)
3、Linux命令行下將改動的文件提交到版本庫
svn commit -m 「LogMessage「 [-N] [--no-unlock] PATH(如果選擇了保持鎖,就使用–no-unlock開關)
例如:svn commit -m 「add test file for my test「 test.php
簡寫:svn ci
4、Linux命令行下的加鎖/解鎖
svn lock -m 「LockMessage「 [--force] PATH
例如:svn lock -m 「lock test file「 test.php
svn unlock PATH
5、Linux命令行下更新到某個版本
svn update -r m path
例如:
svn update如果後面沒有目錄,默認將當前目錄以及子目錄下的所有文件都更新到最新版本。
svn update -r 200 test.php(將版本庫中的文件test.php還原到版本200)
svn update test.php(更新,於版本庫同步。如果在提交的時候提示過期的話,是因為沖突,需要先update,修改文件,然後清除svn resolved,最後再提交commit)
簡寫:svn up
6、Linux命令行下查看文件或者目錄狀態
1)svn status path(目錄下的文件和子目錄的狀態,正常狀態不顯示)
【?:不在svn的控制中;M:內容被修改;C:發生沖突;A:預定加入到版本庫;K:被鎖定】
2)svn status -v path(顯示文件和子目錄狀態)
第一列保持相同,第二列顯示工作版本號,第三和第四列顯示最後一次修改的版本號和修改人。
註:svn status、svn diff和 svn revert這三條命令在沒有網路的情況下也可以執行的,原因是svn在本地的.svn中保留了本地版本的原始拷貝。
簡寫:svn st
7、Linux命令行下刪除文件
svn delete path -m 「delete test fle「
例如:svn delete svn://192.168.1.1/pro/domain/test.php -m 「delete test file」
或者直接svn delete test.php 然後再svn ci -m 『delete test file『,推薦使用這種
簡寫:svn (del, remove, rm)
8、Linux命令行下查看日誌
svn log path
例如:svn log test.php 顯示這個文件的所有修改記錄,及其版本號的變化
9、Linux命令行下查看文件詳細信息
svn info path
例如:svn info test.php
10、Linux命令行下比較差異
svn diff path(將修改的文件與基礎版本比較)
例如:svn diff test.php
svn diff -r m:n path(對版本m和版本n比較差異)
例如:svn diff -r 200:201 test.php
簡寫:svn di
11、Linux命令行下將兩個版本之間的差異合並到當前文件
svn merge -r m:n path
例如:svn merge -r 200:205 test.php(將版本200與205之間的差異合並到當前文件,但是一般都會產生沖突,需要處理一下)
12、Linux命令行下SVN 幫助
svn help
svn help ci
以上是常用命令,下面寫幾個不經常用的
13、Linux命令行下版本庫下的文件和目錄列表
svn list path
顯示path目錄下的所有屬於版本庫的文件和目錄
簡寫:svn ls
14、Linux命令行下創建納入版本控制下的新目錄
svn mkdir: 創建納入版本控制下的新目錄。
用法: 1、mkdir PATH…
2、mkdir URL…
創建版本控制的目錄。
1、每一個以工作副本 PATH 指定的目錄,都會創建在本地端,並且加入新增調度,以待下一次的提交。
2、每個以URL指定的目錄,都會透過立即提交於倉庫中創建.在這兩個情況下,所有的中間目錄都必須事先存在。
15、Linux命令行下恢復本地修改
svn revert: 恢復原始未改變的工作副本文件 (恢復大部份的本地修改)。revert:
用法: revert PATH…
注意: 本子命令不會存取網路,並且會解除沖突的狀況。但是它不會恢復被刪除的目錄
16、Linux命令行下代碼庫URL變更
svn switch (sw): 更新工作副本至不同的URL。
用法: 1、switch URL [PATH]
2、switch –relocate FROM TO [PATH...]
1、更新你的工作副本,映射到一個新的URL,其行為跟「svn update」很像,也會將伺服器上文件與本地文件合並。這是將工作副本對應到同一倉庫中某個分支或者標記的方法。
2、改寫工作副本的URL元數據,以反映單純的URL上的改變。當倉庫的根URL變動(比如方案名或是主機名稱變動),但是工作副本仍舊對映到同一倉庫的同一目錄時使用這個命令更新工作副本與倉庫的對應關系。
17、Linux命令行下解決沖突
svn resolved: 移除工作副本的目錄或文件的「沖突」狀態。
用法: resolved PATH…
注意: 本子命令不會依語法來解決沖突或是移除沖突標記;它只是移除沖突的相關文件,然後讓 PATH 可以再次提交。
18、Linux命令行下輸出指定文件或URL的內容。
svn cat 目標[@版本]…如果指定了版本,將從指定的版本開始查找。
svn cat -r PREV filename > filename (PREV 是上一版本,也可以寫具體版本號,這樣輸出結果是可以提交的)
以上是Linux命令行下常用svn命令的使用方法。
⑼ 如何在win上搭建SVN伺服器
方法/步驟
一、准備工作
1、SVN伺服器:解壓縮包,可以從官方網站下載最新版本。
2、SVN客戶端:TortoiseSVN,即常說的小烏龜,是一個客戶端程序,用來與伺服器端通訊。
二、安裝伺服器和客戶端程序
1、SVN伺服器:直接解壓縮到某個文件夾下即可。示例路徑:c:\svn\
備註:如果下載的是msi程序,直接運行按提示安裝即可。
2、SVN客戶端:直接運行按提示安裝即可。示例路徑:C:\Program Files\Subversion
三、建立版本庫(Repository):示例路徑:e:\svnroot。建立版本庫有兩種方法:
方法一,建立空目錄e:\svnroot\repos1,進入repos1文件夾,在空白處點擊右鍵,選擇「TortoiseSVN->Create Repositoryhere...」,
方法二,建立空目錄e:\svnroot\repos2,進入DOS命令行,輸入如下命令:
svnadmincreate e:\svnroot\repos2
四、運行SVN伺服器,啟動服務。啟動服務有兩種方法:
方法一,臨時啟動服務,在DOS下輸入如下命令:
svnserve -d -r e:\svnroot\repos1 --listen-host ip地址 --listen-port=埠號
說明:「listen-host」和「listen-port」可選。默認埠是3690,如果埠已經被佔用,可以通過選項listen-port指定埠號。
注意:請不要關閉命令行窗口,關閉窗口會把 svn服務就停止了。
方法二,啟動SVN服務為後台運行程序:
sc create svnserve binPath= "c:\svn\bin\svnserve.exe --service -r e:\svnroot\repos1" displayname= "Subversion" depend=Tcpip start= auto
說明一:
(1)sc是windows自帶的服務配置程序。svnserve是服務的名稱,可根據需求取名。
(2)參數binPath表示svnserve可執行文件的安裝路徑。
(3)--service表示以windows服務的形式運行,--r指明svnrepository的位置,service參數與r參數都作為binPath的一部分,因此與svnserve.exe的路徑一起被包含在一對雙引號當中。
(4)displayname表示在windows服務列表中顯示的名字,depend=Tcpip表示svnserve服務的運行需要tcpip服務,start=auto表示開機後自動運行。安裝服務後,svnserve要等下次開機時才會自動運行。
說明二:
(1)binPath的等號前面無空格,等號後面有空格。displayname、depend、start也一樣,service前面是--,不是- ,而r前面是-。
(2)若要卸載svn服務,則執行 sc delete svnserve 即可。
(3)從「sc」到「auto」是在同一個命令sc,必須寫在同一行。
(4)啟動服務命令:netstart svnserve,停止服務命令:net start svnserve,也可以進入Windows提供的界面操作SVNService服務了,即控制面板—>服務。
(5)如果路徑中包括空格,一定要用「\」處理「"」號,例如上面的例子中如果svnserve.exe在「c:\programfiles\svn\」中,則命令應該寫為「binpath="\"c:\programfiles\svn\bin\svnserve.exe\"
五、配置用戶和許可權
(1)修改svnserve.conf,在e:\svn\repos1\conf目錄下,用文本編輯器打開svnserve.conf:
將:
# anon-access = read
# auth-access = write
# password-db = passwd
改為
anon-access = read
auth-access = write
password-db = passwd
注意說明:
anon-access等列前面是沒有空格的。
anon-access = read表示沒通過用戶名密碼登錄的訪問只有讀的許可權,如果改為none則沒有用戶名密碼不能訪問
auth-access = write表示通過用戶名密碼登錄的有寫的許可權(當然讀的許可權也就有了)
password-db = passwd表示可以通過 用戶名 = 密碼 的方式在passwd文件中添加用戶
(2)修改同目錄的passwd文件,增加用戶帳號:
將:
[users]
# harry = harryssecret
# sally = sallyssecret
添加帳號:
[users]
# harry = harryssecret
# sally = sallyssecret
admin = admin
添加一個admin賬戶,密碼是admin。
六、初始化SVN,導入數據
選中要上傳SVN的文件夾,「右鍵 ->TortoiseSVN -> Import...」 ,在彈出對話框的「URL of repository」輸入「svn://localhost/project1/」。在「Importmessage」輸入注釋,點擊OK,要求輸入帳號,輸入賬戶admin和密碼admin。
七,測試SVN
本地測試:新建一空文件夾test1,單擊右鍵,選擇「SVN Checkout」,在「URL of repository」中輸入「svn://localhost/project1」。
其他機器測試:如果運行svnserve的主機IP地址是1.2.3.4,則URL輸入的內容就是「svn://1.2.3.4/project1」。
⑽ 怎麼在windows系統上裝svn代碼庫
工具/原料 操作系統:Windows2003,32位 SVN Server版本:svn-win32-1.6.16 SVN Client版本:TortoiseSVN-1.6.16.21511 方法/步驟 一、准備工作 1、SVN伺服器:解壓縮包,可以從官方網站下載最新版本。 2、SVN客戶端:TortoiseSVN,即常說的小烏龜,是一個客戶端程序,用來與伺服器端通訊。 二、安裝伺服器和客戶端程序 1、SVN伺服器:直接解壓縮到某個文件夾下即可。示例路徑:c:\svn\ 備註:如果下載的是msi程序,直接運行按提示安裝即可。 2、SVN客戶端:直接運行按提示安裝即可。示例路徑:C:\Program Files\Subversion 三、建立版本庫(Repository):示例路徑:e:\svnroot。建立版本庫有兩種方法: 方法一,建立空目錄e:\svnroot\repos1,進入repos1文件夾,在空白處點擊右鍵,選擇「TortoiseSVN->Create Repositoryhere...」, 方法二,建立空目錄e:\svnroot\repos2,進入DOS命令行,輸入如下命令: svnadmincreate e:\svnroot\repos2 四、運行SVN伺服器,啟動服務。啟動服務有兩種方法: 方法一,臨時啟動服務,在DOS下輸入如下命令: svnserve -d -r e:\svnroot\repos1 --listen-host ip地址 --listen-port=埠號 說明:「listen-host」和「listen-port」可選。默認埠是3690,如果埠已經被佔用,可以通過選項listen-port指定埠號。 注意:請不要關閉命令行窗口,關閉窗口會把 svn服務就停止了。 方法二,啟動SVN服務為後台運行程序: sc create svnserve binPath= "c:\svn\bin\svnserve.exe --service -r e:\svnroot\repos1" displayname= "Subversion" depend=Tcpip start= auto 說明一: (1)sc是windows自帶的服務配置程序。svnserve是服務的名稱,可根據需求取名。 (2)參數binPath表示svnserve可執行文件的安裝路徑。 (3)--service表示以windows服務的形式運行,--r指明svnrepository的位置,service參數與r參數都作為binPath的一部分,因此與svnserve.exe的路徑一起被包含在一對雙引號當中。 (4)displayname表示在windows服務列表中顯示的名字,depend=Tcpip表示svnserve服務的運行需要tcpip服務,start=auto表示開機後自動運行。安裝服務後,svnserve要等下次開機時才會自動運行。 說明二: (1)binPath的等號前面無空格,等號後面有空格。displayname、depend、start也一樣,service前面是--,不是- ,而r前面是-。 (2)若要卸載svn服務,則執行 sc delete svnserve 即可。 (3)從「sc」到「auto」是在同一個命令sc,必須寫在同一行。 (4)啟動服務命令:netstart svnserve,停止服務命令:net start svnserve,也可以進入Windows提供的界面操作SVNService服務了,即控制面板—>服務。 (5)如果路徑中包括空格,一定要用「\」處理「"」號,例如上面的例子中如果svnserve.exe在「c:\programfiles\svn\」中,則命令應該寫為「binpath="\"c:\programfiles\svn\bin\svnserve.exe\" 五、配置用戶和許可權 (1)修改svnserve.conf,在e:\svn\repos1\conf目錄下,用文本編輯器打開svnserve.conf: 將: # anon-access = read # auth-access = write # password-db = passwd 改為 anon-access = read auth-access = write password-db = passwd 注意說明: anon-access等列前面是沒有空格的。 anon-access = read表示沒通過用戶名密碼登錄的訪問只有讀的許可權,如果改為none則沒有用戶名密碼不能訪問 auth-access = write表示通過用戶名密碼登錄的有寫的許可權(當然讀的許可權也就有了) password-db = passwd表示可以通過 用戶名 = 密碼 的方式在passwd文件中添加用戶 (2)修改同目錄的passwd文件,增加用戶帳號: 將: [users] # harry = harryssecret # sally = sallyssecret 添加帳號: [users] # harry = harryssecret # sally = sallyssecret admin = admin 添加一個admin賬戶,密碼是admin。 六、初始化SVN,導入數據 選中要上傳SVN的文件夾,「右鍵 ->TortoiseSVN -> Import...」 ,在彈出對話框的「URL of repository」輸入「svn://localhost/project1/」。在「Importmessage」輸入注釋,點擊OK,要求輸入帳號,輸入賬戶admin和密碼admin。 七,測試SVN 本地測試:新建一空文件夾test1,單擊右鍵,選擇「SVN Checkout」,在「URL of repository」中輸入「svn://localhost/project1」。 其他機器測試:如果運行svnserve的主機IP地址是1.2.3.4,則URL輸入的內容就是「svn://1.2.3.4/project1」。 Linux SVN 伺服器配置以及客戶端使用 2010-09-23 11:32:07 標簽:Linux 伺服器 SVN 休閑 客戶端 SVN簡介 SVN是一種版本管理系統,前身是CVS,是開源軟體的基石。即使在溝通充分的情況下,多人維護同一份源代碼的一定也會出現混亂的情況,版本管理系統就是為了解決這些問題。 SVN中的一些概念 : a. repository(源代碼庫) 源代碼統一存放的地方 b. Checkout (提取) 當你手上沒有源代碼的時候,你需要從repository checkout一份 c. Commit (提交) 當你已經修改了代碼,你就需要Commit到repository d. Update (更新) 當你已經Checkout了一份源代碼, Update一下你就可以和Repository上的源代碼同步,你手上的代碼就會有最新的變更 日常開發過程其實就是這樣的(假設你已經Checkout並且已經工作了幾天):Update(獲得最新的代碼) -->作出自己的修改並調試成功 --> Commit(大家就可以看到你的修改了) 如果兩個程序員同時修改了同一個文件呢?SVN可以Merge這兩個程序員的改動,對,合並,實際上SVN管理源代碼是 以行為單位的,就是說兩個程序員只要不是修改了同一行程序,SVN都會自動合並兩種修改。如果是同一行呢,SVN會提示文件Confict, 沖突,需要手動確認。 TortoiseSVN簡介 TortoiseSVN 是 Subversion 版本控制系統的一個免費開源客戶端,可以超越時間的管理文件和目錄。文件保存在中央版本庫,除了能記住文件和目錄的每次修改以外,版本庫非常像普通的文件 伺服器。你可以將文件恢復到過去的版本,並且可以通過檢查歷史知道數據做了哪些修改,誰做的修改。這就是為什麼許多人將 Subversion 和版本控制系統看作一種「時間機器」。 SVN的配置 1,配置好yum,檢查subversion安裝包 [root@svn ~]# yum list grep subversion subversion.i386 1.4.2-4.el5_3.1 base subversion-devel.i386 1.4.2-4.el5_3.1 base subversion-javahl.i386 1.4.2-4.el5_3.1 base subversion-perl.i386 1.4.2-4.el5_3.1 base subversion-ruby.i386 1.4.2-4.el5_3.1 base [root@svn ~]# yum -y install subversion 測試安裝是否成功: #svnserve --version 回車顯示版本說明安裝成功 [root@svn ~]# netstat –nat 查看默認TCP 3690埠是否監聽. 2,創建svn版本庫 [root@svn /]# mkdir -p /data/svndata [root@svn /]# svnadmin create /data/svndata/winne winne為版本庫名稱 3,svnserve配置文件概述 svnserve.conf -- svn服務配置文件,該文件版本庫目錄的conf目錄下。 passwd -- 用戶名口令文件,該文件名在文件svnserve.conf中指定,預設為同目錄下的。 authz -- 許可權配置文件,該文件名也在文件svnserve.conf中指定,預設為同目錄下的。 conf/svnserve.conf 文件 配置項分為以下5項: anon-access 控制非鑒權用戶訪問版本庫的許可權。 auth-access 控制鑒權用戶訪問版本庫的許可權。 password-db 指定用戶名口令文件名。 authz-db 指定許可權配置文件名,通過該文件可以實現以路徑為基礎的訪問控制。 realm 指定版本庫的認證域,即在登錄時提示的認證域名稱。若兩個版本庫的 認證域相同,建議使用相同的用戶名口令數據文件 注:1.4版本anon-access = read 參數的bug . anon-access = read時 客戶端Checkout(提取)的時候會有Not authorized to open root of edit operation"錯誤,改為none參數正常, conf /Passwd 文件 user1 = user1 user2 = user2 conf /authz 文件 [groups] 設置組 admin = user1 [/] 根目錄許可權設置(就是「svndata」這個文件夾) user1 = rw 用戶1許可權是:可讀寫 user2 = r 用戶2許可權是:可讀,不可寫 @admin = rw 設置組許可權 [svndata:/winne] 設置根目錄下「winne」文件夾的許可權 user1 = rw user2 = r …以此類推 4,啟動和停止SVN服務 啟動SVN服務: [root@svn ~]# svnserve -d -r /data/svndata/ -d表示後台運行 -r 指定根目錄是 /data/svndata/ 停止SVN服務: ps -aux grep svn kill -9 進程殺掉 客戶端使用 Windows客戶端TortoiseSVN的使用 1, TortoiseSVN 客戶端的安裝 測試選擇的是TortoiseSVN 1.6.5客戶端 付中文漢化包. 2,客戶端的文件更新至伺服器(user1操作) 新建一個空目錄,右鍵Checkout (提取) svn://192.168.103.26/winne 輸入passwd文件中的授權用戶帳號就可以了 在目錄中加入一些文件測試. 然後在空白地方右鍵點TortoiseSVN-> ADD 添加列表到伺服器端.此時並沒有真正拷貝到伺服器上,需再在Commit(提交)操作才會拷貝 在版本庫瀏覽器中就可以看到剛才提交的文件了,此時提交的版本為1. 3,客戶端在伺服器上拉讀取數據(user2操作) User2 在機器上新建一個空目錄user2 , 右鍵Checkout (提取) 填入地址: svn://192.168.103.26/winne 輸出至G:\user2 確定 增加一個new.txt的文件,然後Commit (提交)之後提示許可權出錯,user2沒有寫的許可權,換成user1 的身份才可以提交成功. Linux客戶端的使用 客戶端操作流程一般是: 用戶A: checkout (提取) -> add (添加新文件) -> commit (提交) 用戶B: SVN log(查看更新) -> update(更新版本) 1,SVN的安裝 yun –y install subversion 2,Linux svn的常用命令 ()內為命令簡寫. checkout (co) 提取 commit (ci) 提交 update (up) 更新 list (ls) 列表 3, checkout (co) 提取 svn伺服器上的文件 (user1)操作流程 [root@TEST ~]# svn co svn://192.168.103.26/winne Authentication realm: <svn://192.168.103.26:3690> My First Repository Password for 'root': Authentication realm: <svn://192.168.103.26:3690> My First Repository Username: user1 /輸入用戶名 Password for 'user1': /輸入密碼 A winne/Cosmic Ride - BeFour.lrc A winne/20070716171657126.pdf A winne/svnbook.pdf revision 1. / checkout (co) 提取成功,看到Checked out版本為1 注:可以使用帶用戶名和密碼的訪問: svn co --username user1 --password user1 svn://192.168.103.26/winne [root@TEST ~]# ll drwxr-xr-x 3 root root 4096 Sep 23 09:02 winne /winne目錄是SVN自動生成的 drwxr-xr-x 2 root root 4096 Jul 30 02:06 tasks [root@TEST ~]# cd winne [root@TEST winne]# ll total 2868 -rw-r--r-- 1 root root 1566968 Sep 23 08:53 20070716171657126.pdf -rw-r--r-- 1 root root 2397 Sep 23 08:53 Cosmic Ride - BeFour.lrc -rw-r--r-- 1 root root 1354300 Sep 23 08:53 svnbook.pdf 4,user1修改文件並提交 [root@TEST winne]# vi testsvn.txt [root@TEST winne]# svn add testsvn.txt /將testsvn.txt添加到庫中 A testsvn.txt [root@TEST winne]# svn commit -m "test" testsvn.txt /注釋為test Adding testsvn.txt Transmitting file data . Committed revision 2. /版本更新為2了 5,user2回window客戶端更新版本 回到Windows的客戶端看日誌, 版本已經更新為2了,注釋test,客戶端update就可以更新到新的版本了. 6, Windows客戶端的版本回滾 選中菜單中的update to verisiom ,選擇版本1即可. 7,Linux版本回滾操作: [root@TEST winne]# svn up -r 1