自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

面試中SVN管理知識(shí)點(diǎn)全面剖析

開發(fā) 項(xiàng)目管理
本文和大家學(xué)習(xí)一下SVN管理問題,SVN工作模型,分支的概念和版本庫(kù)布局等內(nèi)容,希望通過本文的學(xué)習(xí),你對(duì)SVN管理有更加深刻的認(rèn)識(shí)。

本節(jié)講解一下SVN管理問題,在學(xué)習(xí)SVN的過程中,你可能會(huì)遇到SVN管理問題,只有掌握了SVN管理你才能夠?qū)VN運(yùn)用自如,歡迎大家一起來學(xué)習(xí)SVN管理。下面我們來看一下具體介紹。
一.SVN的工作模型:Subversion缺省使用復(fù)制-修改-合并模型
實(shí)際上是文件共享的問題,目前有兩種策略:
A.鎖定-修改-解鎖模型有一點(diǎn)問題就是限制太多,經(jīng)常會(huì)成為用戶的障礙:
鎖定可能導(dǎo)致管理問題。有時(shí)候Harry會(huì)鎖住文件然后忘了此事,這就是說Sally一直等待解鎖來編輯這些文件,她在這里僵住了。然后Harry去旅行了,現(xiàn)在Sally只好去找管理員放開鎖,這種情況會(huì)導(dǎo)致不必要的耽擱和時(shí)間浪費(fèi)。
鎖定可能導(dǎo)致不必要的線性化開發(fā)。如果Harry編輯一個(gè)文件的開始,Sally想編輯同一個(gè)文件的結(jié)尾,這種修改不會(huì)沖突,設(shè)想修改可以正確的合并到一起,他們可以輕松的并行工作而沒有太多的壞處,沒有必要讓他們輪流工作。
鎖定可能導(dǎo)致錯(cuò)誤的安全狀態(tài)。假設(shè)Harry鎖定和編輯一個(gè)文件A??Sally鎖定并編輯文件B,如果A和B互相依賴,這種變化是必須同時(shí)作的,這樣A和B不能正確的工作了,鎖定機(jī)制對(duì)防止此類問題將無能為力—從而產(chǎn)生了一種處于安全狀態(tài)的假相。很容易想象Harry和Sally都以為自己鎖住了文件,而且從一個(gè)安全,孤立的情況開始工作,因而沒有盡早發(fā)現(xiàn)他們不匹配的修改。
B.復(fù)制-修改-合并(CVS,SVN采用)
在這種模型里,每一個(gè)客戶讀取項(xiàng)目版本庫(kù)建立一個(gè)私有工作副本—版本庫(kù)中文件和目錄的本地映射。用戶并行工作,修改各自的工作副本,最終,各個(gè)私有的復(fù)制合并在一起,成為最終的版本,這種系統(tǒng)通??梢暂o助合并操作,但是最終要靠人工去確定正誤。
二。分支的概念
我們?cè)賮砜匆幌耂VN管理中分支的概念。版本控制系統(tǒng)的一個(gè)特性是能夠把各種修改分離出來放在開發(fā)品的一個(gè)分割線上。這條線被稱為分支。分支經(jīng)常被用來試驗(yàn)新的特性,而不會(huì)對(duì)開發(fā)有編譯錯(cuò)誤的干擾。當(dāng)新的特性足夠穩(wěn)定之后,開發(fā)品的分支就可以混合回主分支里(主干線).
版本控制系統(tǒng)的另一個(gè)特性是能夠標(biāo)記特殊的版本(例如某個(gè)發(fā)布版本),所以你可以在任何時(shí)候重新建立一個(gè)特定的構(gòu)件和環(huán)境。這個(gè)過程被稱作標(biāo)記。
分支中最重要的概念就是獨(dú)立于主干進(jìn)行開發(fā),在合并前,不同分支提交的代碼互相不可見,互不干擾。但是主干持有所有分支的版本記錄,因此主干可以合并分支。比較適用不同團(tuán)隊(duì)獨(dú)立開發(fā)各自模塊。另外在分支合并的時(shí)候需要做回歸測(cè)試
三。版本庫(kù)的布局
SVN管理中版本庫(kù)的布局情況,svn文檔是有推薦的目錄結(jié)構(gòu),適用大多數(shù)情況:)當(dāng)然理解了分支的概念,心中有劍也無需受此限制。
 

  1. Therearesomestandard,recommendedwaystoorganizearepository  
  2. .Mostpeoplecreateatrunkdirectorytoholdthe“mainline”ofdevelopment,abranchesdirectorytocontainbranchcopies  
  3. ,andatagsdirectorytocontaintagcopies.Ifarepositoryholdsonlyoneproject  
  4. ,thenoftenpeoplecreatethesetop-leveldirectories:  

如果一個(gè)版本庫(kù)包含多個(gè)項(xiàng)目,人們通常按分支來安排布局:
大致用法如下:
traceview項(xiàng)目有兩個(gè)開發(fā)人員wya,htyoung,同時(shí)htyoung做為項(xiàng)目管理員.
1.項(xiàng)目開始時(shí)htyoung在trunk創(chuàng)建了最初的文件這個(gè)作為mainline,然后用
svncptrunktags/first_init
svncptags/first_initbranches/wya
svncptags/first_initbranches/htyoung
創(chuàng)建工作文件夾,我們的開發(fā)人員wya,htyoung只在他們的開發(fā)文件夾branches/wya,branches/htyoung內(nèi)工作,也就是commit.
2.一段時(shí)間后由項(xiàng)目管理員(htyoung),merge所有的修改到主線trunk上,同時(shí)htyoung和wya同主線同步.
3.再過一段時(shí)間我們發(fā)布0.1版本,為了有一個(gè)記錄項(xiàng)目管理員(htyoung)用以下命令建了一個(gè)tags
svncptrunktags/Release0.1.0
4.這時(shí)又有一個(gè)開發(fā)人員JRD來了,項(xiàng)目管理員(htyoung)基于0.1給她建了一個(gè)工作分支svncptags/Release0.1.0branches/jrd
5.在我們發(fā)布完0.2時(shí)來了一個(gè)測(cè)試員TA,我們用以下命令為TA建一個(gè)工作文件夾
svncptrunktags/Release0.2.0
svncptags/Release0.2.0branches/ta。本節(jié)SVN管理問題講解完畢。

 【編輯推薦】

  1. ApacheSVN服務(wù)器安裝之專家指導(dǎo)
  2. 專家指導(dǎo):Windows2003下如何進(jìn)行Apache+SVN部署
  3. ApacheSVN服務(wù)器安裝指導(dǎo)手冊(cè)
  4. Windows下SVN服務(wù)器搭建新視點(diǎn)
  5. Ubuntu8.10Server中Apache+SVN+SSL配置方法專家解析 
責(zé)任編輯:佚名
相關(guān)推薦

2020-10-14 10:50:50

SpringSessiJavaweb

2010-08-18 10:52:46

Linux筆試

2010-06-02 20:07:39

SVN管理系統(tǒng)

2012-11-05 11:32:42

項(xiàng)目管理知識(shí)管理IT人員

2010-06-08 18:43:11

UML建模工具

2009-10-28 11:09:59

2009-10-30 09:30:33

2009-11-14 09:42:01

2017-12-08 14:26:19

Android面試知識(shí)點(diǎn)總結(jié)

2020-12-24 13:32:31

大數(shù)據(jù)數(shù)據(jù)分析SQL

2010-06-01 11:22:30

SVN合并跟蹤

2010-05-24 13:13:25

Swap空間

2013-10-11 14:51:16

Linux進(jìn)程管理

2021-11-03 11:58:44

分布式事務(wù)面試

2025-04-01 08:25:00

OSPF網(wǎng)絡(luò)IT

2025-03-26 11:30:40

2016-12-21 09:55:55

面試JavaScrip總結(jié)

2016-05-30 17:31:34

Spring框架

2010-08-17 14:56:00

HCNE認(rèn)證

2011-04-15 12:25:21

BGP路由
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)