天天看點

SVN的基本操作流程

i. 建立版本庫 a. 在windows下建立版本庫 如果SVN伺服器安裝在windows平台下,那麼可以通過tortoiseSVN用戶端來建立 1、在一個空白的檔案夾下,右鍵單擊滑鼠。彈出菜單後點選有個小烏龜标志的TortoiseSVN——Create repository here。

SVN的基本操作流程

2. 然後在彈出的菜單中可以看到版本庫的位址, 點選确定按鈕完成版本庫的建立。

SVN的基本操作流程

3. 在檔案夾下右鍵單擊滑鼠,在彈出的菜單中選擇TortoiseSVN——Repo-browser,可以檢視目前版本下的檔案目錄及内容。

SVN的基本操作流程

4. 打開版本的檔案目錄後,右鍵點選根目錄檔案,在彈出的菜單中選擇Create folder選項建立根目錄下的檔案夾。

SVN的基本操作流程

5. 輸入檔案夾名稱後點選ok按鈕建立檔案夾。

SVN的基本操作流程

6. 這時會彈出提示框,讓你輸入這個檔案夾的這個版本的一些說明,如果沒有需要說明的内容,可不輸入并點選ok完成檔案夾的建立

SVN的基本操作流程

7. 版本庫及版本下的檔案目錄就建立完成了。

SVN的基本操作流程

b. 在Linux下建立版本庫 svnadmin是一個用來監控和修改Subversion版本庫的管理工具 名稱 svnadmin create — 建立一個新的空的版本庫。 概要 svnadmin create REPOS_PATH 描述 在提供的路徑上建立一個新的空的版本庫,如果提供的目錄不存在,它會為你建立。 對于Subversion 1.2及Subversion 1.2以後的版本,svnadmin預設使用fsfs檔案系統建立版本庫。而在Subversion 1.2以前的版本中,建立的是一個Berkeley DB版本庫,Berkeley DB版本庫是預設類型 例子 是以,建立一個版本庫就是這樣簡單: $ svnadmin create /usr/local/svn/repos 指定格式來建立版本庫 $ svnadmin create /usr/local/svn/repos --fs-type fsfs ii. 配置版本庫

SVN的基本操作流程

配置檔案在檔案夾conf中

SVN的基本操作流程

我們需要配置的檔案有三個,authz,passwd,svnserve.conf。 其中passwd用來配置使用者名和密碼。 authz用類配置版本庫的權限。 svnserve.conf用來配置版本庫。 a. 配置passwd #配置使用者名字和密碼 格式:使用者名=密碼

SVN的基本操作流程

b. 配置svnserve.conf #anon-access:匿名使用者的權限,可以為read,write和none,預設值read。 不允許匿名使用者通路:anon-access = none。 #auth-access:認證使用者的權限,可以為read,write和none,預設值write。

SVN的基本操作流程

#password-db:密碼使用者配置檔案的路徑

SVN的基本操作流程

#authz-db:版本庫權限配置檔案的路徑

SVN的基本操作流程

#realm 指定版本庫的認證域,即在登入時提示的認證域名稱。

SVN的基本操作流程

c. 配置authz # groups:給使用者分組

SVN的基本操作流程

版本庫路徑權限段的段名格式如下: [<版本庫名>:<路徑>] 如版本庫abc路徑/tmp的版本庫路徑權限段的段名為"[abc:/tmp]"。可省略段名中的版本庫名。若省略版本庫名,則該版本庫路徑權限段對所有版本庫中相同路徑的通路控制都有效。如:段名為"[/tmp]"的版本庫路徑權限段設定了所有引用該權限配置檔案的版本庫中目錄"/tmp"的通路權限。 版本庫路徑權限段中配置行格式有如下三種: <使用者名> = <權限> @<使用者組> = <權限> * = <權限> 其中,"*"表示任何使用者;權限的取值範圍為''、'r'和'rw',''表示對該版本庫路徑無任何權限,'r'表示具有隻讀權限,'rw'表示有讀寫權限。 注意:每行配置隻能配置單個使用者或使用者組。 “*= ”表示除了已經配置設定的使用者,其他人沒有任何權限。

SVN的基本操作流程

iii. 導入項目 a、在linux下導入項目 svn import myProject svn://192.168.27.222:3690/qiuzhi  -m "Initial import" 其中,myProject是我要導入的工程, svn://192.168.27.222:3690/ 是要把工程導入到指定的伺服器, /qiuzhi 是要把工程導入指定的伺服器的指定版本庫中。因為在svn伺服器啟動時,指定了版本庫存放的目錄/home/snv/svnRoot。是以實際上工程被導入的實際目錄是:/home/svn/snvRoot/qiuzhi。 -m 是在導入工程時的備注資訊。 b. 在windows下導入項目 在windows作業系統中,也可以通過用戶端tortoiseSVN來把工程導入到在linux中的版本庫中。 1. 滑鼠選中要上傳的檔案夾。 2. 右鍵點選滑鼠,選擇TortoiseSVN--->導入

SVN的基本操作流程

3. 版本庫URL:你要把代碼導入到SVN伺服器的什麼位置。 svn://192.168.27.222/testSVN。說明了,svn://我使用了SVN伺服器來存儲版本庫,伺服器位址是192.168.27.222,并且預設的端口号是3690,是以也可以寫出192.168.27.222:3690。/testSVN說明要把工程導入到testSNV版本庫中。 備注:根據svn伺服器啟動時設定的參數,版本庫存放的路徑是/home/svn/svnRoot 在“導入資訊”中輸入一些文字資訊,用來記錄你的操作,這樣當你檢視項目的曆史時,可以很輕松的找到相應的版本。這和在linux伺服器中使用指令行導入資訊時,-m後面跟的資訊是一個意思。

SVN的基本操作流程

項目導入成功。

SVN的基本操作流程

iv. checkout工作副本 1. 建立一個檔案夾,點選滑鼠右鍵,選擇svn checkout.

SVN的基本操作流程

版本庫URL:版本庫的位址。 備注:tortoiseSVN可以通過file://、http://和svn://多種協定連接配接版本庫。

方案 通路方法
file:// 直接版本庫通路(本地磁盤或者網絡磁盤)。
http:// 通過 WebDAV 協定通路支援 Subversion 的 Apache 伺服器。
https:// 與 http:// 相似,但是用 SSL 加密。
svn:// 通過未認證的 TCP/IP 自定義協定通路 svnserve 伺服器。
svn+ssh:// 通過認證并加密的 TCP/IP 自定義協定通路 svnserve 伺服器。

檢出至目錄:表示要把版本庫中的檔案checkout哪個檔案夾下。 檢出深度有四個選項,Fully recursive(全遞歸)、Immediate children,including folders(直接子節點,包含檔案夾)、Only file chlidren(僅檔案子節點)、Only this item(僅此項)。 Fully recursive(全遞歸):檢出完整的目錄樹,包含所有的檔案或子目錄. Immediate children,including folders(直接子節點,包含檔案夾):檢出目錄,包含其中的檔案或子目錄,但是不遞歸展開子目錄. Only file chlidren(僅檔案子節點):檢出指定目錄,包含所有檔案,但是不檢出任何子目錄. Only this item(僅此項):隻檢出目錄,不包含其中的檔案或子目錄. 檢出工作副本後,檔案夾中會有一個.svn檔案夾。 v. 修改、送出 修改工作副本中的檔案,或添加檔案或删除檔案,然後選中工作副本,點選滑鼠右鍵,選擇“SVN 送出”

SVN的基本操作流程

在“資訊”中輸入你這次操作的相關内容,以友善以後檢視項目時能夠查找到相關的版本。 點選“确定”,送出代碼、 vi. 解決沖突 在送出代碼時有時候會出現沖突。沖突出現的原因。

SVN的基本操作流程

如何人為的制造一個沖突呢? 1. 同一個版本庫檢出兩個工作副本,

SVN的基本操作流程

2. 在“jingdian”工作副本中, 在一個檔案中輸入字元串,儲存,并送出。

SVN的基本操作流程

3. 在“myPro"工作副本中的相同檔案中,相同位置輸入字元串。

SVN的基本操作流程

4. 儲存,并送出。報錯

SVN的基本操作流程

4.txt.mine檔案是送出前本地工作副本的内容

SVN的基本操作流程

4.txt.r53,其中的“53”代表本地工作副本的版本好,它代表本地工作副本沒有修改以前的内容。

SVN的基本操作流程

4.txt.r54,“54”代表者svn伺服器中,該版本庫的最新版本。這說明目前的工作副本并不是最新的。

SVN的基本操作流程

4.txt上有一個黃色的感歎号,它表示該檔案出現沖突,需要解決。

SVN的基本操作流程

要解決沖突有兩種思路: a. 思路1 1. 選擇出現沖突的工作副本,點選右鍵,選擇tortoiseSVN--->SVN 還原 2. 選擇該工作副本,點選右鍵,選擇“SVN 更新” 3. 更新完以後,該工作副本更新至伺服器的最新版本。打開4.txt,它的内容已經改變了。

SVN的基本操作流程

4. 這時再修改檔案,并送出。不會在報錯了。 b. 思路2 1. 删除*.mine、*.r53、*.r54三個檔案夾 2. 打開出現沖突的檔案。 把下列内容 <<<<<< .mine 我要修改的内容 |||||| .r53 ====== 伺服器中的内容 >>>>>> .r54 修改為: 我要修改的内容 其他的内容都删除掉。 3. 儲存并送出 沖突解決了,大家鼓掌吧。

繼續閱讀