日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

win10之Subversion(SVN)基本操作

發布時間:2024/1/1 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 win10之Subversion(SVN)基本操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

win10之Subversion(SVN)基本操作

  • 一、環境說明
  • 二、安裝Subversion
  • 三、Subversion基本操作
    • 1.配置版本庫
    • 2.啟動服務器端程序
    • 3.檢出
    • 4.提交
    • 5.更新
    • 6.工作副本中文件的集中狀態
    • 7.恢復歷史版本
  • 四、權限設置
    • 1.單一版本庫權限配置
    • 2.多版本庫共享配置
  • 五、刪除保存的認證數據(借助TortoiseSVN)

一、環境說明

1.操作系統:window10家庭中文版
2.Subversion安裝包:Setup-Subversion-1.8.17.msi

二、安裝Subversion

1.雙擊Setup-Subversion-1.8.17.msi安裝即可

PS:安裝位置不要有中文、空格等非法字符

2.設置環境變量
將Subversion根目錄下的bin目錄添加至系統環境變量(過程略)

3.查看svn版本

svn --version

三、Subversion基本操作

1.配置版本庫

  • 這里小編將D:\MyUtil\Test\Subversion規定為根目錄,下面放這許多版本庫。這里創建兩個版本庫one、two
  • 實驗所用到的路徑可自定義,但不要有中文、空格等非法字符
  • 在cmd命令行操作

創建one版本庫:

svnadmin create D:\MyUtil\Test\Subversion\one

創建two版本庫:

svnadmin create D:\MyUtil\Test\Subversion\two

查看結果(以one為例,two同理)

文件說明:

2.啟動服務器端程序

svnserve -d -r D:\MyUtil\Test\Subversion

命令解釋:

  • svnserve:主命令
  • -d:表示后臺進行
  • -r:表示版本庫目錄
  • D:\MyUtil\Test\Subversion svn倉庫根目錄

PS:運行命令后,不能關閉cmd窗口

3.檢出

命令格式:svn checkout svn://SVN 服務器主機地址/具體倉庫目錄 保存檢出內容的目錄

svn checkout svn://localhost/one D:\MyUtil\Test\Subversion\three

PS:這里小編把保存檢出內容的目錄以絕對路徑寫出,如果上述命令只寫three,是在cmd命令所在的目錄下檢出one倉庫為three目錄

4.提交

(1)開啟匿名訪問權限

  • 檢出的倉庫如果匿名提交,要先在源倉庫(three的源倉庫是one)里修改下配置文件,開放匿名訪問權限
  • 打開倉庫根目錄/conf/svnserve.conf文件
  • 將第 19 行的# anon-access = read 改為 anon-access = write,也就是去掉“# ”。注意前面不要留空格,一定要頂格寫。

(2)現在自己檢出的three倉庫內創建一個文本文件,隨便寫點東西

(3)執行 svn add 命令,將 test.txt 納入版本控制

svn add test.txt

PS:

  • 執行命令前,命令行要進入到three目錄(即工作副本)下
  • Windows10在cmd進入一個目錄的快捷方式:打開那個目錄,在上面地址欄輸入“cmd”,回車即可

(4)執行提交命令

svn commit -m "My first commit" test.txt
  • commit:svn提交命令
  • -m:添加描述信息
  • test.txt:添加的文件

5.更新

(1)新檢出一個three2目錄

svn checkout svn://localhost/one D:\MyUtil\Test\Subversion\three2

(2)cmd進入到three2文件目錄里,在three2倉庫里修改test.txt文件,并且重新提交

重新提交

svn commit -m "My second commit" test.txt

(3)執行更新操作

svn update


(4)cmd回到three目錄,執行更新操作,可以獲得最新版本

6.工作副本中文件的集中狀態

①沒有修改,現行版本
本檔案在工作目錄中沒有被修改,而且自當前版本之后,其他終端也沒有任何該
文件的修改被提交到服務器,即當前工作副本的版本和服務器端最新版本是一致
的。對它執行 svn commit 和 svn update 都不會發生任何事。

②本地修改, 現行版本
這個文件被修改過,但這個修改還沒有提交到服務器,而且自當前版本之后,其
他終端也沒有任何該文件的修改被提交到服務器,所以當前工作副本的版本和服
務器端最新版本仍然是一致的。由于有尚未送交回去的本地修改,所以對它的
svn commit 會成功提交你的修改,而 svn update 則不會作任何事。

③沒有修改,過時版本
這個文件沒有修改,但是版本庫中有其他終端提交的修改。此時當前工作副本的
版本比服務器端的版本落后了,我們稱之為“過時”。對當前文件的 svn commit 不
會發生任何事,而 svn update 會讓工作目錄中的文件更新至最新版本。

④本地修改,過時版本
服務器端存在沒有更新到本地的修改,導致當前版本過時。如果這個文件在
本地有未提交的修改,則無法提交,對它執行 svn commit 會產生“out-of-date”
錯誤。
此時應該先嘗試更新本地文件。更新時 SVN 會嘗試將服務器端的更新與本地
文件進行合并,合并的結果有兩種可能:一個是服務器端和本地修改位于文件的
不同位置,合并成功;另一個是服務器端的修改正好和本地修改位于同一個位置,
發生沖突。

7.恢復歷史版本

將工作副本整體回復到某一個歷史版本命令

svn update --revision 版本號

四、權限設置

1.單一版本庫權限配置

1.1匿名訪問,上述已提及,不再闡述

1.2授權訪問

思想:創建用戶,然后為用戶設定權限

打開要設置權限的倉庫的根目錄\conf\svnserve.conf文件(要全新的svnserve.conf文件)

  • 將第 19 行# auth-access = write 注釋打開,設置匿名用戶操作為none
  • 將第 20 行# auth-access = write 注釋打開:auth-access = write,表明該版本庫不接受匿名訪問
  • 將第 27 行注釋打開:password-db = passwd,表明使用同目錄下的 passwd 文件保存用戶信息
  • 將第 34 行注釋打開:authz-db = authz,表明使用同目錄下的 authz 文件保存權限信息

1.3 打開 passwd 文件創建用戶

userWrite01 = 123456 userWrite02 = 123456 userRead = 123456 userOther = 123456

表示新建4個用戶,密碼都是123456

1.4 打開 authz 文件,設置用戶權限

在這文件可以設置用戶組和用戶組或者用戶的目錄權限
新增用戶組:

canWrite = userWrite01,userWrite02

這表示創建用戶組canWrite,組里有用戶userWrite01、userWrite02

設置版本庫路徑權限:

[/] @canWrite = rw userRead = r * =

表示版本庫根路徑下,canWrite用戶組的用戶有讀寫權限,userRead用戶有讀權限,其他用戶沒有任何權限

設置版本庫下/subDir目錄權限:

[/subDir] userOther = rw * =

表示當前版本庫下的 subDir 目錄只有 userOther 有讀寫權限,其它用戶無任何權限

PS:父目錄設置的權限,對子目錄同樣有效——除非子目錄進行了更為具體的設定,如上面的[/subDir]目錄權限比[/]目錄更具體

2.多版本庫共享配置

2.1 在版本庫根目錄 D:\MyUtil\Test\Subversion下創建 commConf 目錄

2.2 將未修改的 authz 和 passwd 文件拷貝到 commConf 目錄下

2.3 修改需要設置權限的版本庫的 svnserve.conf 文件

  • 將第 20 行# auth-access = write 注釋打開:auth-access = write,表明該版本庫不接受匿名訪問
  • 將第 27 行注釋打開:password-db = passwd,這里使用絕對路徑,表明使用commConf目錄下的 passwd 文件保存用戶信息
  • 將第 36 行注釋打開:authz-db = authz,這里使用絕對路徑,表明使用commConf目錄下的 authz 文件保存權限信息

2.4 在password 中創建用戶

userone = 123456 usertwo = 123456

2.5 在 authz 中針對不同版本庫為不同用戶授予權限

[one:/] userone = rw * =[two:/] usertwo = rw * =

表示userone用戶在one的版本庫下有讀寫權限,其他用戶沒有權限,usertwo同理。

五、刪除保存的認證數據(借助TortoiseSVN)

1.右鍵–》“TortoiseSVN”–》“設置”
2.進入“已保存數據”
3.勾選要刪除的數據即可

總結

以上是生活随笔為你收集整理的win10之Subversion(SVN)基本操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。