導航:首頁 > 程序命令 > svn命令登錄

svn命令登錄

發布時間:2024-08-15 05:08:00

1. 如何用命令行創建一個svn用戶

在dos下的命令不太清楚,
只知道在conf文件夾中passwd文件中添加用戶就可以了,格式:
[users]
# harry = harryssecret
# sally = sallyssecret
admin = admin

2. 如何搭建本地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能用了,下面是原始資料,稍微整理了一下,如果以上內容不能滿足,參考以下內容,希望沒有浪費寶貴時間。

3. svn 詳解

1、檢出

svncohttp://路徑(目錄或文件的全路徑)[本地目錄全路徑]

--username 用戶名 --password 密碼svncosvn://路徑(目錄或文件的全路徑)[本地目錄全路徑]--username 用戶名 --password 密碼

svncheckouthttp://路徑(目錄或文件的全路徑)[本地目錄全路徑] --username用戶名

svncheckoutsvn://路徑(目錄或文件的全路徑)[本地目錄全路徑]--username用戶名

註:如果不帶--password 參數傳輸密碼的話,會提示輸入密碼,建議不要用明文的--password 選項。

其中 username 與 password前是兩個短線,不是一個。

不指定本地目錄全路徑,則檢出到當前目錄下。

例子:

svn co svn://localhost/測試工具/home/testtools--usernamewzhnsc

svn co http://localhost/test/testapp--usernamewzhnsc

svn checkout svn://localhost/測試工具/home/testtools--usernamewzhnsc

svncheckouthttp://localhost/test/testapp--usernamewzhnsc

2 、 導出(導出一個干凈的不帶.svn文件夾的目錄樹 )

svnexport[-r 版本號]http://路徑(目錄或文件的全路徑) [本地目錄全路徑]--username用戶名

svnexport[-r 版本號]svn://路徑(目錄或文件的全路徑) [本地目錄全路徑]--username用戶名

svnexport本地檢出的(即帶有.svn文件夾的)目錄全路徑要導出的本地目錄全路徑

註:第一種從版本庫導出干凈工作目錄樹的形式是指定URL,

如果指定了修訂版本號,會導出相應的版本,

如果沒有指定修訂版本,則會導出最新的,導出到指定位置。

如果省略本地目錄全路徑,URL的最後一部分會作為本地目錄的名字。

第二種形式是指定 本地檢出的目錄全路徑 到 要導出的本地目錄全路徑,所有的本地修改將會保留,

但是不在版本控制下(即沒提交的新文件,因為.svn文件夾里沒有與之相關的信息記錄)的文件不會拷貝。

例子:

svn export svn://localhost/測試工具/home/testtools--usernamewzhnsc

svn export svn://localhost/test/testapp--usernamewzhnsc

svn export /home/testapp/home/testtools

3、添加新文件

svnadd文件名

註:告訴SVN伺服器要添加文件了,還要用svn commint -m真實的上傳上去!

例子:

svn addtest.php<-添加test.php

svn commit -m「添加我的測試用test.php「 test.php

svn add*.php<-添加當前目錄下所有的php文件

svn commit -m「添加我的測試用全部php文件「 *.php

4、提交

svncommit-m「提交備注信息文本「[-N][--no-unlock]文件名

svnci-m「提交備注信息文本「[-N][--no-unlock]文件名

必須帶上-m參數,參數可以為空,但是必須寫上-m

例子:

svn commit -m「提交當前目錄下的全部在版本控制下的文件「 *<-注意這個*表示全部文件

svn commit -m「提交我的測試用test.php「 test.php

svn commit -m「提交我的測試用test.php「-N --no-unlocktest.php<-保持鎖就用–no-unlock開關

svn ci -m「提交當前目錄下的全部在版本控制下的文件「 *<-注意這個*表示全部文件

svn ci -m「提交我的測試用test.php「 test.php

svn ci -m「提交我的測試用test.php「-N --no-unlocktest.php<-保持鎖就用–no-unlock開關

5、更新文件

svnupdate

svnupdate-r修正版本文件名

svnupdate文件名

例子:

svn update<- 後面沒有目錄,默認將當前目錄以及子目錄下的所有文件都更新到最新版本

svn update -r200 test.cpp<-將版本庫中的文件 test.cpp 還原到修正版本(revision)200

svn updatetest.php<-更新與版本庫同步。

提交的時候提示過期沖突,需要先 update 修改文件,

然後清除svn resolved,最後再提交commit。

6、刪除文件

svndeletesvn://路徑(目錄或文件的全路徑) -m 「刪除備注信息文本」

推薦如下操作:

svndelete文件名

svnci-m「刪除備注信息文本」

例子:

svn delete svn://localhost/testapp/test.php-m「刪除測試文件test.php」

推薦如下操作:

svn deletetest.php

svn ci -m「刪除測試文件test.php」

7、加鎖/解鎖

svnlock-m「加鎖備注信息文本「[--force]文件名

svnunlock文件名

例子:

svn lock -m「鎖信測試用test.php文件「 test.php

svn unlocktest.php

8、比較差異

svndiff文件名

svndiff-r修正版本號m:修正版本號n文件名

例子:

svn difftest.php<-將修改的文件與基礎版本比較

svn diff -r200:201 test.php<-對 修正版本號200 和 修正版本號201 比較差異

9、查看文件或者目錄狀態

svn st目錄路徑/名

svn status 目錄路徑/名<-目錄下的文件和子目錄的狀態,正常狀態不顯示

【?:不在svn的控制中;M:內容被修改;C:發生沖突;

A:預定加入到版本庫;K:被鎖定】

svn-v 目錄路徑/名

svn status -v 目錄路徑/名<-顯示文件和子目錄狀態

【第一列保持相同,第二列顯示工作版本號,

第三和第四列顯示最後一次修改的版本號和修改人】

註:svn status、svn diff和 svn revert這三條命令在沒有網路的情況下也可以執行的,

原因是svn在本地的.svn中保留了本地版本的原始拷貝。

10、查看日誌

svnlog文件名

例子:

svn logtest.php<-顯示這個文件的所有修改記錄,及其版本號的變化

11、查看文件詳細信息

svninfo文件名

例子:

svn infotest.php

12、SVN 幫助

svnhelp<-全部功能選項

svnhelpci<- 具體功能的說明

13、查看版本庫下的文件和目錄列表

svnlistsvn://路徑(目錄或文件的全路徑)

svnlssvn://路徑(目錄或文件的全路徑)

例子:

svn list svn://localhost/test

svn ls svn://localhost/test<-顯示svn://localhost/test目錄下的所有屬於版本庫的文件和目錄

14、創建納入版本控制下的新目錄

svnmkdir目錄名

svnmkdir-m"新增目錄備注文本"http://目錄全路徑

例子:

svn mkdirnewdir

svn mkdir -m"Making a new dir."svn://localhost/test/newdir

註:添加完子目錄後,一定要回到根目錄更新一下,不然在該目錄下提交文件會提示「提交失敗」

svn update

註:如果手工在checkout出來的目錄里創建了一個新文件夾newsubdir,

再用svn mkdirnewsubdir命令後,SVN會提示:

svn: 嘗試用 「svn add」或 「svn add --non-recursive」代替?

svn: 無法創建目錄「hello」: 文件已經存在

此時,用如下命令解決:

svn add --non-recursivenewsubdir

在進入這個newsubdir文件夾,用ls -a查看它下面的全部目錄與文件,會發現多了:.svn目錄

再用 svn mkdir -m "添hello功能模塊文件" svn://localhost/test/newdir/newsubdir 命令,

SVN提示:

svn: File already exists: filesystem '/data/svnroot/test/db', transaction '4541-1',

path '/newdir/newsubdir '

15、恢復本地修改

svnrevert[--recursive]文件名

注意: 本子命令不會存取網路,並且會解除沖突的狀況。但是它不會恢復被刪除的目錄。

例子:

svn revertfoo.c<-丟棄對一個文件的修改

svn revert --recursive.<-恢復一整個目錄的文件,. 為當前目錄

16、把工作拷貝更新到別的URL

svnswitchhttp://目錄全路徑本地目錄全路徑

例子:

svn switch http://localhost/test/456 .<- (原為123的分支)當前所在目錄分支到localhost/test/456

17、解決沖突

svnresolved[本地目錄全路徑]

例子:

$ svn update

C foo.c

Updated to revision 31.

如果你在更新時得到沖突,你的工作拷貝會產生三個新的文件:

$ ls

foo.c

foo.c.mine

foo.c.r30

foo.c.r31

當你解決了foo.c的沖突,並且准備提交,運行svn resolved讓你的工作拷貝知道你已經完成了所有事情。

你可以僅僅刪除沖突的文件並且提交,但是svn resolved除了刪除沖突文件,還修正了一些記錄在工作拷貝管理區域的記錄數據,所以我們推薦你使用這個命令。

18、不checkout而查看輸出特定文件或URL的內容

svncathttp://文件全路徑

例子:

svn cat http://localhost/test/readme.txt

19、新建一個分支

svn branchA branchB-m "make B branch" // 從branchA拷貝出一個新分支branchB

20、合並內容到分支merge

svn mergebranchA branchB// 把對branchA的修改合並到分支branchB

4. 怎麼才能使用svn命令 linux

首先要先下載svn。
輸入:sudo apt-get install subversion

接下來就可以使用SVN了。
先檢出伺服器上的文件。本經驗再SAE上搭建了一個wordpress,所以在這里以此為例。
輸入:svn checkout 地址

上傳新文件。現在本地上把新文件復制到項目文件夾中。
再在項目目錄中輸入:
svn add 文件名
svn commit -m "備注"

如果要修改代碼,可以直接再本地上修改,然後上傳。
輸入:svn commit -m "備注"

要刪除文件則輸入:
svn delete 文件名
svn commit -m "備注"

如果是誤刪了文件
直接 svn up 或者 svn revert -r version
還有更詳細的介紹可以看相關的中文文檔。

5. 如何svn腳本命令check out自動輸入密碼

svn login會將密碼保存到相應的文件,以後svn co就不需要再輸入密碼了

如果要以其他ID去checkout,可以使用(svn co --help查看幫助):
svn co --username XXX http://ip/....
使用這個命令後,上面的svn login信息文件會被修改成新的ID/passwd

閱讀全文

與svn命令登錄相關的資料

熱點內容
node開源論壇源碼 瀏覽:8
單片機比手機晶元還貴 瀏覽:35
java課表 瀏覽:555
如何在pdf裡面修改 瀏覽:929
橙光製作器檔案框在哪個文件夾 瀏覽:991
php如何抓取網頁數據 瀏覽:642
計數器單片機 瀏覽:966
游戲aoi演算法 瀏覽:844
phpmysqlint 瀏覽:912
怎麼從appstore商城買東西 瀏覽:184
大秀直播平台源碼 瀏覽:424
java視屏 瀏覽:934
電腦中如何給程序加密 瀏覽:240
java排序容器 瀏覽:942
職稱證書在哪個app下載 瀏覽:362
四九演算法算男女 瀏覽:659
javawindows8 瀏覽:498
2021世界程序員節 瀏覽:485
php翼支付 瀏覽:884
盈通伺服器ip地址 瀏覽:791