華迪實(shí)訓(xùn)(配置管理)教材課件_第1頁(yè)
華迪實(shí)訓(xùn)(配置管理)教材課件_第2頁(yè)
華迪實(shí)訓(xùn)(配置管理)教材課件_第3頁(yè)
華迪實(shí)訓(xùn)(配置管理)教材課件_第4頁(yè)
華迪實(shí)訓(xùn)(配置管理)教材課件_第5頁(yè)
已閱讀5頁(yè),還剩86頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

配置管理華迪實(shí)訓(xùn)基地Version:2.02023/7/23TPCASEPG2Overview課程介紹什么是配置管理?怎樣做配置管理呢?怎樣做變更控制管理?介紹配置管理工具-SVN參考資料課程介紹2023/7/23TPCASEPG4關(guān)于本次課程課程目標(biāo)預(yù)備知識(shí)目標(biāo)聽眾日程表詞匯表2023/7/23TPCASEPG5課程目標(biāo)通過(guò)學(xué)習(xí)本課程希望各位對(duì)配置管理有初步的認(rèn)識(shí)和了解。通過(guò)學(xué)習(xí)本課程能按規(guī)范開展配置管理的各項(xiàng)活動(dòng)。通過(guò)學(xué)習(xí)本課程能了解配置管理工具svn2023/7/23TPCASEPG6預(yù)備知識(shí)有一定的團(tuán)隊(duì)開發(fā)的經(jīng)驗(yàn)最好使用過(guò)一些代碼管理工具(如:SVN)2023/7/23TPCASEPG7目標(biāo)聽眾項(xiàng)目經(jīng)理配置管理人員開發(fā)人員技術(shù)管理人員2023/7/23TPCASEPG8日程表共計(jì):1.5小時(shí)詳細(xì)安排0:05課程介紹0:10什么是配置管理?0:20怎樣做配置管理?0:20怎樣做變更控制管理?0:30配置管理工具-SVN0:05問(wèn)題&反饋Total:1.5hours2023/7/23TPCASEPG9詞匯表CM:ConfigurationManagement,配置管理。CCB:ChangeControlBoard,變更控制委員會(huì)。CI:configurationitem,配置項(xiàng)。包含文檔、程序。Baseline:基線。已通過(guò)復(fù)審和批準(zhǔn)的工件發(fā)布版,由此構(gòu)成進(jìn)一步演進(jìn)或開發(fā)的公認(rèn)基礎(chǔ),并且只能通過(guò)正式程序,例如:變更管理和配置控制才能進(jìn)行更改。

CR:ChangeRequest,變更請(qǐng)求。對(duì)提出的要變更工件或流程的任何請(qǐng)求的統(tǒng)稱。在變更請(qǐng)求中記錄的信息是有關(guān)當(dāng)前問(wèn)題、提議解決方案及其成本的起源和影響的信息。PCA:物理審計(jì),在配置管理系統(tǒng)中建立基線的工件是否為“正確”版本。FCA:功能審計(jì),是核實(shí)軟件配置項(xiàng)的實(shí)際性能是否符合它的需求。什么是配置管理?2023/7/23TPCASEPG11為什么需要配置管理現(xiàn)代軟件開發(fā)復(fù)雜度高眾多的開發(fā)人員文件及相關(guān)資源多種多樣源代碼目標(biāo)代碼web相關(guān)內(nèi)容文檔模型和設(shè)計(jì)需求測(cè)試腳本多個(gè)發(fā)布版本多種平臺(tái)軟件在不同地點(diǎn)開發(fā)2023/7/23TPCASEPG12一些基本的配置管理功能存儲(chǔ)和

保護(hù)所有軟件資產(chǎn)和相關(guān)資源記錄軟件所有的歷史變更whatchanged?whochangedit?whendiditchange?whydiditchange?配置管理開發(fā)人員工作空間軟件建立和版本發(fā)布管理使開發(fā)人員的工作相互獨(dú)立2023/7/23TPCASEPG13定義CMM的解釋:“軟件配置管理的是建立和維護(hù)在項(xiàng)目的整個(gè)軟件生存周期中軟件項(xiàng)目產(chǎn)品的完整性

。軟件配置管理包括標(biāo)識(shí)在給定時(shí)間點(diǎn)上軟件的配置(即選定的軟件工作產(chǎn)品及其描述),系統(tǒng)地控制對(duì)配置的更改、并維護(hù)在整個(gè)軟件生存周期中配置的完整性和可跟蹤性。置于軟件配置管理之下的工作產(chǎn)品包括交付給顧客的軟件產(chǎn)品(例如軟件需求文檔和代碼),以及與這些軟件產(chǎn)品等同的產(chǎn)品項(xiàng)或生成這些軟件產(chǎn)品所要求的產(chǎn)品項(xiàng)(例如編譯程序)。軟件配置管理包含為兩部分:配置管理變更控制管理2023/7/23TPCASEPG14簡(jiǎn)介配置與變更控制管理涉及:確定配置項(xiàng),限制對(duì)這些項(xiàng)的變更,審核變更(對(duì)這些項(xiàng)所做的變更),定義與管理配置(這些項(xiàng)的配置)。配置管理活動(dòng)是一個(gè)項(xiàng)目支持活動(dòng)。2023/7/23TPCASEPG15目的在控制由參與同一個(gè)項(xiàng)目的許多人員所生成的大量工件時(shí),CM系統(tǒng)至關(guān)重要。如果進(jìn)行控制,就有助于避免混亂情況(其代價(jià)通常都很大)的發(fā)生,并確保生成的工件不會(huì)由于下列問(wèn)題而發(fā)生沖突:同時(shí)更新有限通知多個(gè)版本一言以避之:維護(hù)項(xiàng)目工件的完整性2023/7/23TPCASEPG16同時(shí)更新&有限通知&多個(gè)版本同時(shí)更新當(dāng)兩個(gè)或更多的角色分別對(duì)同一個(gè)工件進(jìn)行操作時(shí),最后進(jìn)行變更的那個(gè)角色將破壞前一個(gè)角色的工作。根本的問(wèn)題是:如果系統(tǒng)不支持同時(shí)更新,則會(huì)導(dǎo)致系列變更并使開發(fā)流程減慢速度。但如果使用“同時(shí)更新”,那么挑戰(zhàn)將在于檢測(cè)更新已同時(shí)進(jìn)行,而且要在并入變更時(shí)解決任何與集成有關(guān)的問(wèn)題。有限通知由多個(gè)開發(fā)人員共享的工件中的某個(gè)問(wèn)題得到了糾正,但有些開發(fā)人員并未收到變更通知。多個(gè)版本多數(shù)大程序是以演進(jìn)式發(fā)布版的方式開發(fā)的。一個(gè)發(fā)布版可能為客戶所用,另一個(gè)發(fā)布版正在測(cè)試,而第三個(gè)發(fā)布版則尚在開發(fā)之中。如果在這些版本的任何一個(gè)版本中發(fā)現(xiàn)了問(wèn)題,則需要將修復(fù)方案通報(bào)給所有這些版本。除非對(duì)變更進(jìn)行慎重的控制和監(jiān)測(cè),否則可能會(huì)引起混亂,并且由于混亂而需要進(jìn)行修復(fù)和返工,而這往往成本很高。2023/7/23TPCASEPG17CM帶來(lái)的好處CM系統(tǒng)有助于管理演進(jìn)式軟件系統(tǒng)的多個(gè)版本,追蹤了解在給定的軟件工作版本中使用了哪些版本,根據(jù)用戶定義的版本規(guī)約構(gòu)建單個(gè)程序或整個(gè)發(fā)布版,以及強(qiáng)制實(shí)施特定于某個(gè)站點(diǎn)的開發(fā)策略。CM系統(tǒng)直接帶來(lái)的一些好處是:支持開發(fā)方法,維護(hù)產(chǎn)品完整性,確保已配置產(chǎn)品完整性和正確性,為開發(fā)產(chǎn)品提供一個(gè)穩(wěn)定的環(huán)境,基于項(xiàng)目策略限制對(duì)工件的變更,和提供有關(guān)變更工件的原因、時(shí)間和人員的審核記錄。怎樣做配置管理呢?配置管理活動(dòng)中的重要概念配置管理活動(dòng)的流程配置管理各子活動(dòng)描述2023/7/23TPCASEPG191、配置管理活動(dòng)中的重要概念Version版本配置項(xiàng)基線工作區(qū)配置庫(kù)2023/7/23TPCASEPG20認(rèn)識(shí)版本樹a.c10230012123分支當(dāng)前版本32023/7/23TPCASEPG21重要概念(圖解)配置庫(kù)工件

版本a.cb.ce.c1020120121000123110230012123配置21112301230120工作區(qū)2023/7/23TPCASEPG222、配置管理活動(dòng)的流程2023/7/23TPCASEPG23在流程中的角色

配置管理經(jīng)理配置管理經(jīng)理負(fù)責(zé)為產(chǎn)品開發(fā)團(tuán)隊(duì)提供全面的配置管理基礎(chǔ)設(shè)施和環(huán)境,負(fù)責(zé)制定配置管理計(jì)劃,負(fù)責(zé)對(duì)文檔類的配置項(xiàng)建立基線。

集成員集成員負(fù)責(zé)制定集成計(jì)劃,建立代碼類基線。

任意角色參與變更控制管理,提出變更請(qǐng)求。2023/7/23TPCASEPG24進(jìn)入準(zhǔn)則項(xiàng)目立項(xiàng)2023/7/23TPCASEPG251.計(jì)劃配置管理目的此工作流程明細(xì)的目的是:確定項(xiàng)目配置管理策略確定用于控制產(chǎn)品變更的策略和流程在配置管理計(jì)劃(是軟件開發(fā)計(jì)劃的一部分)中記錄此信息CM策略是指能夠確定、保護(hù)和報(bào)告已經(jīng)批準(zhǔn)用于項(xiàng)目中的工件的能力。通過(guò)正確的標(biāo)注來(lái)實(shí)現(xiàn)確定操作。對(duì)項(xiàng)目工件的保護(hù)是通過(guò)歸檔、建立基線和報(bào)告等操作而得以實(shí)現(xiàn)的。CM計(jì)劃說(shuō)明在產(chǎn)品/項(xiàng)目生命周期中要執(zhí)行的所有與CM相關(guān)的活動(dòng)。它記錄如何計(jì)劃、實(shí)施、控制和組織與產(chǎn)品相關(guān)的CM活動(dòng)。如何配備人員配置經(jīng)理應(yīng)該是進(jìn)行組織的中心人物,并且必須對(duì)所有項(xiàng)目工件負(fù)責(zé)。配置經(jīng)理需確保對(duì)開發(fā)人員實(shí)施項(xiàng)目策略。這樣,工件一旦按照確定的開發(fā)原則得到批準(zhǔn),它們就只會(huì)通過(guò)既定的渠道。配置經(jīng)理需確保以下方面:CM計(jì)劃得以執(zhí)行、定期進(jìn)行審核報(bào)告、在現(xiàn)場(chǎng)外對(duì)備份進(jìn)行安全保管,以及保持軟件許可證為最新2023/7/23TPCASEPG262.創(chuàng)建配置管理環(huán)境目的本活動(dòng)的目的是通過(guò)創(chuàng)建并維護(hù)數(shù)據(jù)儲(chǔ)存庫(kù)建立一個(gè)環(huán)境,在此環(huán)境中可以對(duì)整個(gè)產(chǎn)品進(jìn)行開發(fā)、構(gòu)建,而且具有可重用性或可維護(hù)性。實(shí)現(xiàn)此目的有一個(gè)條件,即確保各私有和公有工作區(qū)中的開發(fā)人員和集成員只要有需要就能使用關(guān)鍵工件,而且這些工件充分建立了基線,并被存儲(chǔ)以備將來(lái)重復(fù)使用。設(shè)置CM環(huán)境時(shí)涉及到創(chuàng)建產(chǎn)品目錄結(jié)構(gòu)、儲(chǔ)存庫(kù)、工作區(qū)(開發(fā)人員和集成)以及分配計(jì)算機(jī)資源(服務(wù)器和磁盤空間)。如何配備人員配置經(jīng)理需要設(shè)置一個(gè)環(huán)境,該環(huán)境基于整個(gè)產(chǎn)品的構(gòu)件結(jié)構(gòu),并且他需要與構(gòu)架設(shè)計(jì)師緊密合作以確保建立足夠的“臨時(shí)位置”。此工作流程明細(xì)中的集成員需確保從開發(fā)人員工作區(qū)交付的工件經(jīng)過(guò)充分測(cè)試,以便可以將其并入可測(cè)試的工作版本中。集成員需熟悉項(xiàng)目CM策略、工作版本和測(cè)試時(shí)的一些做法。2023/7/23TPCASEPG273.配置項(xiàng)標(biāo)識(shí)文檔的標(biāo)識(shí),參見(jiàn)《文檔命名指南》文檔、程序(coding、模型)的標(biāo)識(shí)各類基線的標(biāo)識(shí)所有屬于項(xiàng)目及其各子系統(tǒng)的各類基線,按照軟件系統(tǒng)的命名約定的規(guī)定以及《配置管理計(jì)劃》來(lái)標(biāo)識(shí)。2023/7/23TPCASEPG284.管理基線與發(fā)布目的此工作流程明細(xì)的目的是:確保當(dāng)子系統(tǒng)達(dá)到指定的成熟度后為其建立基線,然后就可進(jìn)行發(fā)布或在隨后的項(xiàng)目迭代和/或其他項(xiàng)目中重復(fù)使用。在CM計(jì)劃中對(duì)發(fā)布頻率和形式予以說(shuō)明。發(fā)布給客戶的產(chǎn)品的正式程度明顯要遠(yuǎn)遠(yuǎn)高出正為下一個(gè)迭代工作版本或復(fù)審而生成的產(chǎn)品的正式程度。如何配備人員在此情況下,配置經(jīng)理需能夠組裝產(chǎn)品以進(jìn)行發(fā)布。已發(fā)布的產(chǎn)品要求有材料清單(BOM),此清單用作交付給客戶的產(chǎn)品的完整核對(duì)清單。已發(fā)布的產(chǎn)品必須包括部署工作流程中所述的發(fā)布說(shuō)明和培訓(xùn)材料。集成員(如其他工作流程明細(xì)中所述)需確保從開發(fā)人員工作區(qū)交付的工件已經(jīng)過(guò)充分測(cè)試,以便可以將其并入可測(cè)試的工作版本中。集成員需熟悉項(xiàng)目CM策略以及具體測(cè)試操作。2023/7/23TPCASEPG295.報(bào)告配置狀態(tài)目的通過(guò)缺陷追蹤和報(bào)告活動(dòng)來(lái)輔助產(chǎn)品復(fù)審。確保為追蹤進(jìn)展和趨勢(shì)而“積累”數(shù)據(jù)并報(bào)告數(shù)據(jù)。如何配備人員根據(jù)CM計(jì)劃,由配置經(jīng)理定期收集配置項(xiàng)數(shù)據(jù),編寫配置狀態(tài)報(bào)告。2023/7/23TPCASEPG306.執(zhí)行配置審計(jì)目的:確定產(chǎn)品滿足功能需求和物理需求。確定工件存儲(chǔ)在受控制的庫(kù)中。確保工件和基線可用。如何配備人員根據(jù)CM計(jì)劃,由配置經(jīng)理定期完成審計(jì)報(bào)告。2023/7/23TPCASEPG317.變更控制管理目的使用標(biāo)準(zhǔn)的、記錄下來(lái)的變更控制流程的目的是:確保項(xiàng)目中所做的變更保持一致,并將產(chǎn)品的狀態(tài)、對(duì)其所做的變更以及這些變更所耗費(fèi)的成本及對(duì)時(shí)間表的影響通知給有關(guān)的涉眾。2023/7/23TPCASEPG32輸出工件輸出名稱輸出描述參考配置管理計(jì)劃CM計(jì)劃說(shuō)明要在項(xiàng)目生命周期過(guò)程中執(zhí)行的所有配置和變更控制管理活動(dòng)。說(shuō)明了活動(dòng)時(shí)間表、指定的職責(zé)和需要的資源(包括人員、工具和計(jì)算機(jī)設(shè)備)。

配置管理計(jì)劃模板變更請(qǐng)求對(duì)項(xiàng)目當(dāng)前問(wèn)題說(shuō)明提出的變更請(qǐng)求內(nèi)容CCB的復(fù)審結(jié)果變更請(qǐng)求模板配置狀態(tài)報(bào)告主要報(bào)告變更請(qǐng)求情況,當(dāng)前的軟件工作版本以及版本說(shuō)明。配置狀態(tài)模板配置審計(jì)報(bào)告對(duì)物理審計(jì)和功能審計(jì)進(jìn)行描述。配置審計(jì)報(bào)告模板2023/7/23TPCASEPG33退出準(zhǔn)則項(xiàng)目驗(yàn)收通過(guò)或項(xiàng)目終止、暫停變更控制管理2023/7/23TPCASEPG35OverView幾個(gè)重要的概念變更控制流程2023/7/23TPCASEPG36重要概念-變更請(qǐng)求(CR)CR-變更請(qǐng)求 對(duì)提出的要變更工件或流程的任何請(qǐng)求的統(tǒng)稱。在變更請(qǐng)求中記錄的信息是有關(guān)當(dāng)前問(wèn)題、提議解決方案及其成本的起源和影響的信息。2023/7/23TPCASEPG37重要概念-CCB(1)CCB-變更控制委員會(huì)該委員會(huì)監(jiān)督變更流程,批準(zhǔn)對(duì)已建立基線的配置項(xiàng)的所有變更。由所有利益方包括客戶、開發(fā)人員和用戶的代表組成。在小型項(xiàng)目中,項(xiàng)目經(jīng)理或軟件構(gòu)架設(shè)計(jì)師一人即可擔(dān)當(dāng)此角色。建立的目的:在于確保所有提出的變更都得到了妥善的技術(shù)分析與復(fù)審,并已記錄備查。基本任務(wù):是明確產(chǎn)品的基線、復(fù)審對(duì)基線的變更、最后批準(zhǔn)、否決變更或延期執(zhí)行。2023/7/23TPCASEPG38重要概念-CCB(2)CCB-成員

CCB應(yīng)由“正確人選”組成,他們?cè)谕轮袠溆姓嬲耐?,同時(shí)專業(yè)知識(shí)過(guò)關(guān),可避免考慮欠周或代價(jià)高昂的變更提議。CCB應(yīng)由所有受影響的組織或涉眾的代表組成。例如:用戶/客戶開發(fā)人員測(cè)試小組項(xiàng)目管理CCB主席CCB主席來(lái)自項(xiàng)目管理辦公室(如:技術(shù)委員會(huì))。主席應(yīng)能明斷團(tuán)隊(duì)內(nèi)的不一致意見(jiàn),并能保證在項(xiàng)目中貫徹執(zhí)行團(tuán)隊(duì)的決策。CCB評(píng)審會(huì)議CCB必須定期按需召開會(huì)議,以此確保變更提議及時(shí)得到了復(fù)審和處理。開發(fā)團(tuán)隊(duì)必須將該小組視為解決問(wèn)題的可靠團(tuán)體,否則項(xiàng)目將停滯不前。2023/7/23TPCASEPG39變更控制流程提交變更請(qǐng)求復(fù)審變更請(qǐng)求分配任務(wù)執(zhí)行變更確認(rèn)變更2023/7/23TPCASEPG40變更控制流程提交變更請(qǐng)求復(fù)審變更請(qǐng)求接受?立即變更?拒絕?END分配任務(wù)執(zhí)行變更確認(rèn)變更通過(guò)?2023/7/23TPCASEPG41提交變更請(qǐng)求任意角色填寫變更請(qǐng)求并提交給CCB。填寫內(nèi)容:當(dāng)前的問(wèn)題說(shuō)明提議怎樣變更提交變更請(qǐng)求復(fù)審變更請(qǐng)求接受?立即變更?拒絕?END分配任務(wù)執(zhí)行變更確認(rèn)變更通過(guò)?2023/7/23TPCASEPG42復(fù)審變更請(qǐng)求-步驟安排召開復(fù)審會(huì)議的時(shí)間此會(huì)議一般每周開一次如果CR量顯著增加或者發(fā)布周期臨近結(jié)束時(shí),該會(huì)議可能每天開一次。由CCB主席召開復(fù)審會(huì)議最有將復(fù)審結(jié)果通知給相關(guān)的人員提交變更請(qǐng)求復(fù)審變更請(qǐng)求接受?立即變更?拒絕?END分配任務(wù)執(zhí)行變更確認(rèn)變更通過(guò)?2023/7/23TPCASEPG43復(fù)審變更請(qǐng)求-復(fù)審內(nèi)容角色:CCB復(fù)審的內(nèi)容:根據(jù)已經(jīng)提交的變更請(qǐng)求,從幾個(gè)方面分析:變更影響分析受影響的工件提出解決方案最后作出復(fù)審結(jié)論復(fù)審結(jié)論接受變更立即變更推遲變更不接受變更拒絕變更需要詳細(xì)的數(shù)據(jù)提交變更請(qǐng)求復(fù)審變更請(qǐng)求接受?立即變更?拒絕?END分配任務(wù)執(zhí)行變更確認(rèn)變更通過(guò)?2023/7/23TPCASEPG44分配任務(wù)角色:項(xiàng)目經(jīng)理一旦變更請(qǐng)求被批準(zhǔn)立即變更,項(xiàng)目經(jīng)理就將根據(jù)請(qǐng)求的類型(例如,擴(kuò)展請(qǐng)求、缺陷、文檔變更、測(cè)試缺陷等)把工作分配給合適的角色,并對(duì)項(xiàng)目時(shí)間表做必要的更新。提交變更請(qǐng)求復(fù)審變更請(qǐng)求接受?立即變更?拒絕?END分配任務(wù)執(zhí)行變更確認(rèn)變更通過(guò)?2023/7/23TPCASEPG45執(zhí)行變更角色:指定的角色指定的角色執(zhí)行在流程的有關(guān)部分中指定的活動(dòng)集(例如,需求、分析設(shè)計(jì)、實(shí)施、制作用戶支持材料、設(shè)計(jì)測(cè)試等),以進(jìn)行所請(qǐng)求的變更。這些活動(dòng)將包括常規(guī)開發(fā)流程中所述的所有常規(guī)復(fù)審活動(dòng)和單元測(cè)試活動(dòng)。然后,通知項(xiàng)目經(jīng)理和SCC指定的變更確認(rèn)人確認(rèn)變更是否通過(guò)。提交變更請(qǐng)求復(fù)審變更請(qǐng)求接受?立即變更?拒絕?END分配任務(wù)執(zhí)行變更確認(rèn)變更通過(guò)?2023/7/23TPCASEPG46確認(rèn)變更請(qǐng)求角色:CCB指定的角色指定的角色(分析員、開發(fā)人員、測(cè)試員、技術(shù)文檔編寫員等)解決變更后,變更將放置在要分配給測(cè)試員的測(cè)試隊(duì)列中,并在產(chǎn)品工作版本中加以核實(shí)。

已確定的變更一旦在產(chǎn)品的測(cè)試工作版本中得到了核實(shí),就將變更請(qǐng)求放置在發(fā)布隊(duì)列中,以便在產(chǎn)品的發(fā)布工作版本予以核實(shí)、生成發(fā)布說(shuō)明等,然后關(guān)閉該變更請(qǐng)求。提交變更請(qǐng)求復(fù)審變更請(qǐng)求接受?立即變更?拒絕?END分配任務(wù)執(zhí)行變更確認(rèn)變更通過(guò)?配置管理工具-SVN2023/7/23TPCASEPG48功能簡(jiǎn)介Subversion是一種集中的分享信息的系統(tǒng),它的核心是版本庫(kù),儲(chǔ)存所有的數(shù)據(jù),版本庫(kù)按照文件樹形式儲(chǔ)存數(shù)據(jù)-包括文件和目錄,任意數(shù)量的客戶端可以連接到版本庫(kù),讀寫這些文件。通過(guò)寫數(shù)據(jù),別人可以看到這些信息;通過(guò)讀數(shù)據(jù),可以看到別人的修改。Subversion會(huì)記錄每一次的更改,不僅針對(duì)文件也包括目錄本身,包括增加、刪除和重新組織文件和目錄。2023/7/23TPCASEPG49功能簡(jiǎn)介當(dāng)一個(gè)客戶端從版本庫(kù)讀取數(shù)據(jù)時(shí),通常只會(huì)看到最新的版本,但是客戶端也可以去看以前的任何一個(gè)版本。系統(tǒng)是設(shè)計(jì)來(lái)記錄和跟蹤每一次改動(dòng)的。版本模型:版本控制系統(tǒng)的核心任務(wù)是提供協(xié)作編輯和數(shù)據(jù)共享,但是不同的系統(tǒng)使用不同的策略來(lái)達(dá)到目的。2023/7/23TPCASEPG50功能簡(jiǎn)介鎖定-修改-解鎖方案:鎖定可能導(dǎo)致管理問(wèn)題鎖定可能導(dǎo)致不必要的線性化開發(fā)鎖定可能導(dǎo)致錯(cuò)誤的安全狀態(tài)拷貝-修改-合并方案:Subversion系統(tǒng)使用拷貝-修改-合并模型,在這種模型里,每一個(gè)客戶聯(lián)系項(xiàng)目版本庫(kù)建立一個(gè)個(gè)人工作拷貝——版本庫(kù)中文件和目錄的本地映射。用戶并行工作,修改各自的工作拷貝,最終,各個(gè)私有的拷貝合并在一起,成為最終的版本,這種系統(tǒng)通??梢暂o助合并操作,但是最終要靠人工去確定正誤。2023/7/23TPCASEPG51功能簡(jiǎn)介工作拷貝:一個(gè)Subversion工作拷貝是本地機(jī)器一個(gè)普通的目錄,保存著一些文件,可以是任意的編輯文件,而且如果是源代碼文件,可以像平常一樣編譯,工作拷貝是自己的私有工作區(qū)工作拷貝如何追蹤版本庫(kù):對(duì)于工作拷貝的每一個(gè)文件,Subversion在管理區(qū)域.svn/記錄兩項(xiàng)關(guān)鍵的信息:工作文件所作為基準(zhǔn)的修訂版本(叫做文件的工作修訂版本)一個(gè)本地拷貝最后更新的時(shí)間戳。2023/7/23TPCASEPG52Svnwindows客戶端2023/7/23TPCASEPG53Svnwindows客戶端通過(guò)與版本庫(kù)通訊,Subversion可以告訴我們工作文件處于如下哪一種狀態(tài):未修改且是當(dāng)前的:文件在工作目錄里沒(méi)有修改,在工作修訂版本之后沒(méi)有修改提交到版本庫(kù)。svncommit操作不做任何事情,svnupdate不做任何事情。本地已修改且是當(dāng)前的:在工作目錄已經(jīng)修改,從工作修訂版本之后沒(méi)有修改提交到版本庫(kù)。本地修改沒(méi)有提交,因此svncommit會(huì)成功的提交,svnupdate不做任何事情。未修改且不是當(dāng)前的了:這個(gè)文件在工作目錄沒(méi)有修改,但在版本庫(kù)中已經(jīng)修改了。這個(gè)文件最終將更新到最新版本,成為當(dāng)時(shí)的公共修訂版本。svncommit不做任何事情,svnupdate將會(huì)取得最新的版本到工作拷貝。2023/7/23TPCASEPG54Svnwindows客戶端本地已修改且不是最新的:這個(gè)文件在工作目錄和版本庫(kù)都得到修改。一個(gè)svncommit將會(huì)失敗,這個(gè)文件必須首先更新,svnupdate命令會(huì)合并公共和本地修改,如果Subversion不可以自動(dòng)完成,將會(huì)讓用戶解決沖突。2023/7/23TPCASEPG55Svnwindows客戶端TortoiseSVN是Subversion在Windows操作系統(tǒng)上的圖形客戶端程序,開源、免費(fèi)KarlFogelTimKemp——TortoiseSVN項(xiàng)目的發(fā)起者StefanKüng——TortoiseSVN的主要開發(fā)者LübbeOnken——制作了漂亮的圖標(biāo)、Logo,錯(cuò)誤跟蹤及文檔維護(hù)來(lái)自世界各地的貢獻(xiàn)者版本歷史2004-10-1 TortoiseSVN1.1.0released2005-6-1 TortoiseSVN1.2released2006-1-15 TortoiseSVN1.3.0released2006-9-16 TortoiseSVN1.4.0released2007-6-11 TortoiseSVN1.4.4released2023/7/23TPCASEPG56Svnwindows客戶端/TortoiseSVN是Subversion在Windows操作系統(tǒng)上的圖形客戶端程序,開源、免費(fèi)KarlFogelTimKemp——TortoiseSVN項(xiàng)目的發(fā)起者StefanKüng——TortoiseSVN的主要開發(fā)者LübbeOnken——制作了漂亮的圖標(biāo)、Logo,錯(cuò)誤跟蹤及文檔維護(hù)來(lái)自世界各地的貢獻(xiàn)者版本歷史2004-10-1 TortoiseSVN1.1.0released2005-6-1 TortoiseSVN1.2released2006-1-15 TortoiseSVN1.3.0released2006-9-16 TortoiseSVN1.4.0released2007-6-11 TortoiseSVN1.4.4released2023/7/23TPCASEPG57軟件安裝軟件下載/服務(wù)器和客戶端安裝建立版本庫(kù)(Repository)svnadmincreateE:\svn\repository配置用戶和權(quán)限運(yùn)行獨(dú)立服務(wù)器初始化導(dǎo)入基本客戶端操作2023/7/23TPCASEPG58軟件安裝需要客戶端安裝文件安裝完畢后,在“資源管理器”里點(diǎn)擊右鍵,會(huì)有如下菜單出現(xiàn)。2023/7/23TPCASEPG59把庫(kù)里的內(nèi)容checkout出來(lái)新建一個(gè)目錄,比如D:\SVN_Presentation在此目錄中點(diǎn)擊右鍵->SVNCheckout..."URLofrepository:"處選擇版本庫(kù)所在路徑。2023/7/23TPCASEPG60SVN的工作模式協(xié)同工作的兩種模式“copy-edit-merge”(Subversion默認(rèn)的模式)適用于純文本文件的協(xié)同工作,TortoiseSVN自動(dòng)合并不同成員對(duì)同一文件的修改,如果修改有沖突,需要人工取舍。此模式適合軟件開發(fā)這種工作?!癓ock-Modify-Unlock”

(鎖模式)適用于純文本文件及二進(jìn)制文件的協(xié)同工作。比如dwg,mcd,doc,ppt,xls等文件格式。這種模式適合工程設(shè)計(jì)人員的合作。2023/7/23TPCASEPG61創(chuàng)建數(shù)據(jù)庫(kù)建立版本庫(kù)(Repository)Svnadmincreatec:\svn\repository運(yùn)行獨(dú)立服務(wù)器Svnserve–d-rc:\svn\repository在服務(wù)器端的倉(cāng)庫(kù)已經(jīng)創(chuàng)建成功了,接下來(lái)就在客戶端創(chuàng)建一個(gè)項(xiàng)目,然后將該項(xiàng)目import到服務(wù)器端,將其納入SVN的管理之下。初始化導(dǎo)入svn://localhost/2023/7/23TPCASEPG62啟動(dòng)監(jiān)聽服務(wù)作為一個(gè)獨(dú)立守護(hù)進(jìn)程啟動(dòng)svnserve,監(jiān)聽請(qǐng)求。以Windowsservice服務(wù)方式運(yùn)行svnserve。svnserve-d-r\usr\repositoriessccreatesvnbinpath="C:\programfiles\svn\bin\svnserve.exe\"--service-rC:\repos"displayname="SubversionServer"depend=Tcpipstart=auto2023/7/23TPCASEPG63配置管理svnhelpimportsvnimportmytreefile:///usr/local/svn/newrepos/some/project\svnadminhotcopy/path/to/repos/path/to/repos-backup2023/7/23TPCASEPG64配置管理svnserve-d-r/usr/local/repositoriessvncheckoutsvn:///project12023/7/23TPCASEPG65配置管理配置用戶和權(quán)限來(lái)到E:\svndemo\repository\conf目錄,修改svnserve.conf:

#[general]

#password-db=passwd

改為:

[general]

password-db=passwd然后修改同目錄的passwd文件,去掉下面三行的注釋:

#[users]

#harry=harryssecret

#sally=sallyssecret

最后變成:

[users]

harry=harryssecret

sally=sallyssecret2023/7/23TPCASEPG66Subversion默認(rèn)的模式上傳本地文件將本地文件上傳到SVN目錄中如果希望其他同伴也能看到剛上傳的文件,需要做提交

2023/7/23TPCASEPG67同步SVN同步本地與SVN服務(wù)上的文件。將SVN服務(wù)上的文件更新到本地SVN會(huì)顯示出更新的文件和更新的次數(shù)2023/7/23TPCASEPG68文件提交對(duì)本地文件做修改后提交到SVN在右鍵菜單中點(diǎn)擊SVNCommit提交前寫好Message,點(diǎn)擊OK2023/7/23TPCASEPG69提交權(quán)限控制當(dāng)提交文件的時(shí)候您會(huì)看到權(quán)限提示信息輸入您的開機(jī)用戶名和密碼保存權(quán)限設(shè)置,可以避免將來(lái)重復(fù)輸入用戶名和密碼(見(jiàn)紅圈)2023/7/23TPCASEPG70沖突什么是沖突沖突產(chǎn)生的原因沖突產(chǎn)生的時(shí)機(jī)解決沖突關(guān)于避免沖突的建議2023/7/23TPCASEPG71什么是沖突沖突是指

團(tuán)隊(duì)協(xié)同工作時(shí),當(dāng)多人同時(shí)修改同一個(gè)文件,造成本地文件與SVN系統(tǒng)中的文件版本不一致,而導(dǎo)致文件無(wú)法提交的情況2023/7/23TPCASEPG72沖突產(chǎn)生的原因產(chǎn)生原因當(dāng)團(tuán)隊(duì)協(xié)同工作的時(shí)候,多人同時(shí)操作一個(gè)文件。當(dāng)有人操作完成后,將該文件提交到SVN上。這樣,其他人的本地文件與SVN上的文件版本不一致。當(dāng)另一人操作完成后,提交該文件時(shí),就會(huì)出現(xiàn)沖突。2023/7/23TPCASEPG73沖突產(chǎn)生的時(shí)機(jī)提交文件時(shí),產(chǎn)生沖突2023/7/23TPCASEPG74解決沖突遇到?jīng)_突時(shí),需要update該文件。您會(huì)看到新增了三個(gè)文件。

filename.mine

filename.rOLDREV

filename.rNEWREV面對(duì)文件沖突,您可以選擇以下三種方式解決沖突手動(dòng)合并沖突文件使用工具解決沖突用revert放棄所做的修改2023/7/23TPCASEPG75用工具解決沖突使用自帶工具,如圖所示對(duì)比兩個(gè)版本的文件,解決沖突工具中會(huì)列出兩個(gè)版本沖突的部分,并讓您選擇使用哪個(gè)版本的內(nèi)容

2023/7/23TPCASEPG76放棄修改選擇revert放棄自己所做的修改2023/7/23TPCASEPG77提交解決結(jié)果通過(guò)上面所說(shuō)的三種方法,解決沖突后。要選擇resolved解決后,新增的三個(gè)文件會(huì)自動(dòng)刪除再選擇commit提交到SVN2023/7/23TPCASEPG78以Word文件為例發(fā)生沖突更新文件解決沖突

存在沖突的部分會(huì)用紅色標(biāo)出,在紅字部分或藍(lán)色提示框中點(diǎn)右鍵,找到“接受XX”和“拒絕XX”,根據(jù)實(shí)際情況選擇。當(dāng)紅色文字全部消失后,表示沖突已經(jīng)解決。

提交文件

因?yàn)镾VN工具解決沖突的功能會(huì)新打開

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論