SVN-服務(wù)器操作指南PPT課件_第1頁(yè)
SVN-服務(wù)器操作指南PPT課件_第2頁(yè)
SVN-服務(wù)器操作指南PPT課件_第3頁(yè)
SVN-服務(wù)器操作指南PPT課件_第4頁(yè)
SVN-服務(wù)器操作指南PPT課件_第5頁(yè)
已閱讀5頁(yè),還剩31頁(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)介

SVN服務(wù)器操作指南 2020年4月14日 趙祥 目錄 Lucene基本概念建索引集搜索 查詢索引 刪除索引修改索引 版本控制 版本控制版本控制 Revisioncontrol 是維護(hù)工程藍(lán)圖的標(biāo)準(zhǔn)作法 能追蹤工程藍(lán)圖從誕生一直到定案的過(guò)程 此外 版本控制也是一種軟件工程技巧 借此能在軟件開(kāi)發(fā)的過(guò)程中 確保由不同人所編輯的同一程式檔案都得到同步 出現(xiàn)版本控制工具前的解決方案在最簡(jiǎn)單的情況下 軟件設(shè)計(jì)師可以自己保留一個(gè)程式的許多不同版本 并且為它們做適當(dāng)?shù)木幪?hào) 這種簡(jiǎn)單的方法已被用在很多大型的軟件專案中 題目 Subversion相關(guān)軟件 基于Subversion和TortoiseSVN的版本控制系統(tǒng)Subversion 是一個(gè)開(kāi)源的版本控制系統(tǒng) 擁有CVS的大部分特征 并在CVS的基礎(chǔ)上有更強(qiáng)的擴(kuò)展 用來(lái)代替CVS系統(tǒng) TortoiseSVN SVN的客戶端工具 和資源管理器完美集成 基于TortoiseCVS的代碼開(kāi)發(fā) 使用上和TortoiseCVS極為相似 Web瀏覽器目前公司的版本庫(kù)基于Apache服務(wù)器運(yùn)行 可在瀏覽器中查看授權(quán)過(guò)的版本庫(kù)的信息 題目 使用SVN之前需要了解的第一個(gè)概念 版本庫(kù) Repository SVN的核心是版本庫(kù) 儲(chǔ)存所有的數(shù)據(jù) 版本庫(kù)按照文件樹(shù)形式儲(chǔ)存數(shù)據(jù) 包括文件和目錄 任意數(shù)量的客戶端可以連接到版本庫(kù) 讀寫(xiě)這些文件 通過(guò)寫(xiě)數(shù)據(jù) 別人可以看到這些信息 通過(guò)讀數(shù)據(jù) 可以看到別人的修改 最特別的是Subversion會(huì)記錄版本庫(kù)中的每一次更改 不僅針對(duì)文件也包括目錄本身 包括增加 刪除和重新組織文件和目錄 題目 使用SVN之前需要了解第二個(gè)概念 版本模型鎖定 修改 解鎖方案復(fù)制 修改 合并方案 在這種模型里 每一個(gè)客戶讀取項(xiàng)目版本庫(kù)建立一個(gè)私有工作副本 版本庫(kù)中文件和目錄的本地映射 用戶并行工作 修改各自的工作副本 最終 各個(gè)私有的復(fù)制合并在一起 成為最終的版本 這種系統(tǒng)通??梢暂o助合并操作 但是最終要靠人工去確定正誤 Subversion怎么做 Subversion缺省使用復(fù)制 修改 合并模型 大多數(shù)情況下可以滿足你的需求 然而 Subversion1 2后還是支持鎖定 如果你有不可合并的文件 或者你只是想實(shí)行強(qiáng)制管理策略 Subversion仍然會(huì)提供你需要的特性 題目 TortoiseSVN使用 識(shí)別重載圖標(biāo) 一個(gè)新檢出的工作副本使用綠色的對(duì)勾做重載 表示Subversion狀態(tài)正常 在你開(kāi)始編輯一個(gè)文件后 狀態(tài)就變成了已修改 而圖標(biāo)重載變成了紅色感嘆號(hào) 通過(guò)這種方式 你可以很容易地看出哪些文件從你上次更新工作副本后被修改過(guò) 需要被提交 如果在更新的過(guò)程中出現(xiàn)了沖突 圖標(biāo)會(huì)變成黃色感嘆號(hào) 如果你給一個(gè)文件設(shè)置了svn needs lock屬性 Subversion會(huì)讓此文件只讀 直到你獲得文件鎖 具有這個(gè)重載圖標(biāo)的文件來(lái)表示你必須在編輯之前先得到鎖 如果你擁有了一個(gè)文件的鎖 并且Subversion狀態(tài)是正常 這個(gè)重載圖標(biāo)就提醒你如果不使用該文件的話應(yīng)該釋放鎖 允許別人提交對(duì)該文件的修改 這個(gè)圖標(biāo)表示當(dāng)前文件夾下的某些文件或文件夾已經(jīng)被調(diào)度從版本控制中刪除 或是該文件夾下某個(gè)受版本控制的文件丟失了 加號(hào)告訴你有一個(gè)文件或目錄已經(jīng)被調(diào)度加入版本控制 題目 版本庫(kù)結(jié)構(gòu) Subversion的版本庫(kù)布局中 推薦建立 trunk tags branches三個(gè)目錄 他們不是必須的 但其設(shè)置貼合SVN功能 在使用中你將會(huì)發(fā)現(xiàn)這樣設(shè)置的好處 Trunk 最新的代碼 相當(dāng)于CVS中的Head版本 Tags Subversion使用過(guò)程中創(chuàng)建的標(biāo)簽 Branches 保存Subversion的工作分支 題目 SVN的部署 安裝和配置 公司的版本庫(kù)情況介紹基于Apache運(yùn)行各部門(mén)建立各自的版本管理服務(wù)器質(zhì)量管理部統(tǒng)一進(jìn)行公司層面 部門(mén)層面和項(xiàng)目層面的版本管理服務(wù)端的安裝配置 略TortoiseSVN的安裝如何獲取安裝文件 從下載從公司版本庫(kù)中獲取 默認(rèn)安裝安裝后與windows資源管理器完美集成 TortoiseSVN使用 訪問(wèn)版本庫(kù) 訪問(wèn)方法 Subversion可以通過(guò)多種方式訪問(wèn) 本地磁盤(pán)訪問(wèn) 或各種各樣不同的網(wǎng)絡(luò)協(xié)議 但一個(gè)版本庫(kù)地址永遠(yuǎn)都是一個(gè)URL URL方案反映了訪問(wèn)方法 10 客戶端使用的主要流程 SVN客戶端使用 SVN客戶端使用 Diffwithperviousversion 與上個(gè)版本的區(qū)別 與上個(gè)版本的區(qū)別Checkout 檢出 從版本庫(kù)中檢出工作復(fù)本 Commit 提交 提交對(duì)工作復(fù)本的修改到版本庫(kù)中 Updatetoversion 更新到指定版本 更新工作復(fù)本使其是版本庫(kù)中的最新版本或指定的版本 Showlog 顯示日志 顯示版本歷史記錄 Repo browser 版本庫(kù)瀏覽器 可以清楚的瀏覽版本庫(kù)中的目錄結(jié)構(gòu) SVN客戶端使用 Checkformodifications 檢查更新 系統(tǒng)列表所有待更新的文件及文件夾的狀態(tài) Revisiongraph 版本歷史圖示 顯示指定文件的版本歷史圖示 Rename 改名 SVN支持文件改名 Add 新增 新增文件或文件夾到版本庫(kù)中 Delete 刪除 刪除文件或文件夾 GetLock 獲取鎖 鎖定選中文件或文件夾 實(shí)際是鎖定文件夾中的所有文件 包括各層子文件夾中的文件 SVN客戶端使用 Revert 還原 還原本地所做的修改 與檢出 checkout 的版本相比較 Export 導(dǎo)出 導(dǎo)出你需要的文件 導(dǎo)出后不再受SVN控制 而檢出 checkout 的文件仍受SVN控制 Import 導(dǎo)入 將需要的文件導(dǎo)入到版本庫(kù)中 Relocated 重新定位 當(dāng)服務(wù)器上的版本庫(kù)目錄或版本庫(kù)地址已經(jīng)改變 我們可以把工作復(fù)本重新定位 SVN客戶端使用 Branch tags 分支 標(biāo)簽 創(chuàng)建分支與標(biāo)簽注意 過(guò)渡的使用分支將會(huì)造成混亂 所以我們只在一下四種情況下使用 1 發(fā)布分支2 發(fā)布3 Bug修正4 開(kāi)發(fā)人員的試驗(yàn)Switch 切換 文件創(chuàng)建分支后 你可以通過(guò)Switch選擇在主干工作還可以選擇在分支工作 Merge 合并 主干與分支進(jìn)行合并 Eclipse下使用Svn 在Ecilpse下安裝subclipse插件1 幫助 軟件更新 查找并安裝2 選擇 要安裝的新功能部件 選項(xiàng)并點(diǎn)擊Next 3 點(diǎn)擊 新站點(diǎn) 并且創(chuàng)建一遠(yuǎn)程站點(diǎn) 使用名字Subclipse和URLhttp subclipse tigris org update 1 0 x4 在結(jié)果安裝窗口中 把 SubeclipseintheFeatures 選擇到安裝列表中 并且通過(guò)向?qū)?lái)開(kāi)始安裝插件 5 完成這些之后 重新啟動(dòng)Eclipse 題目 在Eclipse中使用SVN 下載插件Subclipse需要根據(jù)Eclipse的版本下載相應(yīng)版本的Subclipse下載地址 http subclipse tigris org也可以在公司的資料庫(kù)中下載解壓縮后 文件夾結(jié)構(gòu)如下 題目 在Eclipse中使用SVN 安裝 將該文件夾拷貝到Eclipse的plugin目錄下 并建立相應(yīng)的目錄結(jié)構(gòu) 我們命名為subversion 最終的目錄結(jié)構(gòu)如下 題目 在Eclipse中使用SVN 安裝 配置文件在eclipse links目錄下 新建subversion link文件 文件內(nèi)容只有一行 path plugin subversion啟動(dòng)Eclipse 在 首選項(xiàng) 小組 中就可以看到Subversion的插件選項(xiàng)了 Eclipse下使用Svn的主要功能 在Eclipse下使用Svn我們主要使用功能 1 小組2 比較對(duì)象3 替換為 在Eclipse下使用SVN 將版本庫(kù)導(dǎo)入到SVN資源庫(kù)窗口 打開(kāi)透視圖 SVN資源庫(kù)研究 右鍵 新建 資源庫(kù)位置 URL中輸入版本庫(kù)的訪問(wèn)路徑 輸入用戶名test和密碼檢出在SVN資源庫(kù)透視圖下 點(diǎn)http 192 168 0 16 8080 test 會(huì)顯示出現(xiàn)在本機(jī)SVN上的所有工程 右擊你想下載的工程 檢出為 下一步 完成將新建的項(xiàng)目導(dǎo)入版本庫(kù)右擊工程 小組 共享項(xiàng)目 選擇SVN 填寫(xiě)版本庫(kù)的訪問(wèn)路徑 如果沒(méi)有 則創(chuàng)建一個(gè)新的資源庫(kù) 下一步 完成 Eclipse下圖標(biāo)說(shuō)明 灰色向右箭頭 本地修改過(guò)藍(lán)色向左箭頭 SVN上修改過(guò)灰色向右且中間有個(gè)加號(hào)的箭頭 本地比SVN上多出的文件藍(lán)色向左且中間有個(gè)加號(hào)的箭頭 SVN上比本地多出的文件灰色向右且中間有個(gè)減號(hào)的箭頭 本地刪除了 而SVN上未刪除的文藍(lán)色向左且中間有個(gè)減號(hào)的箭頭 SVN上刪除了 而本地未刪除的文件紅色雙向箭頭 SVN上修改過(guò) 本地也修改過(guò)的文件 在Eclipse下使用SVN 小組1 同步在包資源管理器下 右擊你要同步的工程 小組 與資源庫(kù)同步 這時(shí)會(huì)進(jìn)入同步透視圖 會(huì)顯示出本機(jī)與SVN上內(nèi)容有不同的文件 雙擊文件名 會(huì)顯示出兩個(gè)文件中哪里不同 2 提交將你的修改提交到版本庫(kù)中 3 更新將版本庫(kù)中的最新版本更新到你的工作副本中 使你能知道其他人對(duì)版本庫(kù)的修改 在Eclipse下使用SVN 4 創(chuàng)建補(bǔ)丁為了避免任何人都可以修改項(xiàng)目的源代碼而造成項(xiàng)目處于不穩(wěn)定狀態(tài) 所以需要以補(bǔ)丁文件的形式先遞交到有寫(xiě)訪問(wèn)權(quán)限的開(kāi)發(fā)組 開(kāi)發(fā)組可以先對(duì)該補(bǔ)丁文件進(jìn)行審查 然后決定將其提交到倉(cāng)庫(kù)里或者是退還給作者 補(bǔ)丁文件只是簡(jiǎn)單地用統(tǒng)一的差異描述文件顯示出你的工作拷貝和基礎(chǔ)版本的不同點(diǎn) 5 應(yīng)用補(bǔ)丁當(dāng)你對(duì)你的工作副本打補(bǔ)丁的時(shí)候 你應(yīng)當(dāng)在與創(chuàng)建補(bǔ)丁文件時(shí)相同的目錄層次上 如果你不能確定在那個(gè)目錄層次上 就看一下補(bǔ)丁文件的第一行 在Eclipse下使用SVN 6 分支 標(biāo)記7 合并8 切換9 顯示資源歷史記錄10 顯示注釋11 還原12 編輯沖突當(dāng)發(fā)生沖突時(shí) 可以進(jìn)行編輯沖突 顯示出沖突的地方 并進(jìn)行手工修改 在Eclipse下使用SVN 比較對(duì)象1 基本修訂版2 資源庫(kù)中的最新內(nèi)容3 分支 標(biāo)簽4 修訂版5 本地歷史紀(jì)錄中的先前內(nèi)容6 本地歷史紀(jì)錄替換為 與比較對(duì)象的應(yīng)用一樣 只是這是替換 題目 TortoiseSVN 創(chuàng)建標(biāo)簽和分支 分支版本控制系統(tǒng)的一個(gè)特性是能夠把各種修改分離出來(lái)放在開(kāi)發(fā)品的一個(gè)分割線上 這條線被稱為分支 標(biāo)簽版本控制系統(tǒng)的另一個(gè)特性是能夠標(biāo)記特殊的版本 例如某個(gè)發(fā)布版本 所以你可以在任何時(shí)候重新建立一個(gè)特定的構(gòu)件和環(huán)境 這個(gè)過(guò)程被稱作標(biāo)記 使用提醒分支和標(biāo)簽的實(shí)質(zhì)是 建立了一個(gè)新的工作文件副本 分支和標(biāo)簽意味著更多的維護(hù)版本 因此從配置管理角度來(lái)說(shuō) 設(shè)置了只有經(jīng)過(guò)項(xiàng)目經(jīng)理審批才新建分支和標(biāo)簽 題目 分支和標(biāo)簽 慵懶的拷貝 Subversion的版本庫(kù)有特殊的設(shè)計(jì) 當(dāng)你復(fù)制一個(gè)目錄 你不需要擔(dān)心版本庫(kù)會(huì)變得十分巨大 Subversion并不是拷貝所有的數(shù)據(jù) 相反 它建立了一個(gè)已存在目錄樹(shù)的入口 這個(gè)拷貝被可以被認(rèn)為是 懶的 如果你提交一個(gè)文件的修改 只有這個(gè)文件改變了 余下的文件還是作為原來(lái)文件的鏈接存在 這就是為什么經(jīng)常聽(tīng)到Subversion用戶談?wù)?廉價(jià)的拷貝 與目錄的大小無(wú)關(guān) 這個(gè)操作會(huì)使用很少的時(shí)間 事實(shí)上 這個(gè)特性是Subversion提交工作的基礎(chǔ) 每一次版本都是前一個(gè)版本的一個(gè) 廉價(jià)的拷貝 只有少數(shù)項(xiàng)目修改了 當(dāng)然 拷貝與分享的內(nèi)部機(jī)制對(duì)用戶來(lái)講是不可見(jiàn)的 用戶只是看到拷貝樹(shù) 這里的要點(diǎn)是拷貝的時(shí)間與空間代價(jià)很小 所以你可以隨意做想要的分支 當(dāng)然對(duì)于一個(gè)團(tuán)隊(duì)協(xié)作的項(xiàng)目來(lái)說(shuō) 其分支的設(shè)定規(guī)則是需要經(jīng)過(guò)項(xiàng)目團(tuán)隊(duì)認(rèn)可 管理者審批的 否則會(huì)給其他人的協(xié)作帶來(lái)混亂 題目 分支和標(biāo)簽 使用場(chǎng)景 分支項(xiàng)目組在開(kāi)發(fā)到一定階段 產(chǎn)生一個(gè)假定穩(wěn)定版本提交測(cè)試 主干被拷貝到分支 branch 1 0 開(kāi)發(fā)者需要在測(cè)試假定穩(wěn)定版本時(shí)繼續(xù)開(kāi)發(fā)新特性 在 trunk上為版本2 0工作 新工作在軟件測(cè)試時(shí)不可以中斷 如果測(cè)試中一個(gè)bug被發(fā)現(xiàn) 修改提交測(cè)試的分支branch 1 0 同時(shí)有規(guī)律地將修改合并到主干 如果繼續(xù)開(kāi)發(fā)中一個(gè)bug被發(fā)現(xiàn) 修改主干 同時(shí)有規(guī)律地將修改合并到分支 當(dāng)測(cè)試結(jié)束 branches 1 0被打上標(biāo)簽發(fā)布 tags 1 0 0 這個(gè)標(biāo)簽被打包發(fā)布給客戶 也許 繼續(xù)維護(hù) branches 1 0 當(dāng)繼續(xù)在 trunk上為版本2 0工作 bug修正繼續(xù)從 trunk運(yùn)送到 branches 1 0 如果積累了足夠的bug修正 管理部門(mén)決定發(fā)布1 0 1版本 branches 1 0被標(biāo)簽發(fā)布到 tags 1 0 1 打包發(fā)布 整個(gè)過(guò)程隨著軟件的成熟不斷重復(fù) 當(dāng)2 0完成 一個(gè)新的2 0分支被創(chuàng)建 測(cè)試 打標(biāo)簽和最終發(fā)布 經(jīng)過(guò)許多年 版本庫(kù)結(jié)束了許多版本發(fā)布 進(jìn)入了 維護(hù) 模式 許多標(biāo)簽代表了最終的發(fā)布版本 題目 配置管理程序 目的 提高生產(chǎn)率 減少混亂完整性正確性一致性可追溯性手段標(biāo)識(shí)控制 變更管理 發(fā)布審批等 配置審計(jì)配置狀態(tài)報(bào)告 題目 配置管理程序 配置管理員做什么 負(fù)責(zé)項(xiàng)目配置庫(kù)的建立與配置項(xiàng)的管理 維護(hù) 負(fù)責(zé)與項(xiàng)目經(jīng)理 部門(mén)經(jīng)理溝通 進(jìn)行配置庫(kù)權(quán)限分配 負(fù)責(zé)編寫(xiě) 項(xiàng)目配置管理計(jì)劃 負(fù)責(zé)對(duì)通過(guò)評(píng)審 測(cè)試或確認(rèn)后的配置項(xiàng)進(jìn)行發(fā)布并公告 負(fù)責(zé)控制修改 匯總 維護(hù)和保存有關(guān)軟件配置管理活動(dòng)的各項(xiàng)記錄并定期維護(hù) 項(xiàng)目配置狀態(tài)報(bào)告 負(fù)責(zé)跟蹤已發(fā)布配置項(xiàng)的變更情況 并進(jìn)行維護(hù) 負(fù)責(zé)項(xiàng)目過(guò)程中配置項(xiàng)的備份 負(fù)責(zé)確認(rèn)項(xiàng)目組按照配置管理規(guī)則使用配置庫(kù) 題目 配置管理程序 配置管理員收到項(xiàng)目立項(xiàng)通告 啟動(dòng)配置管理功能工作 在 項(xiàng)目計(jì)劃書(shū) 編制后 與項(xiàng)目經(jīng)理明確配置庫(kù)結(jié)構(gòu) 人員 權(quán)限 建庫(kù)地址 管理機(jī)制 如備份 檢察報(bào)告發(fā)布周期等 根據(jù)上述計(jì)劃建立配置庫(kù) 啟動(dòng)配置管理工作 對(duì)納入受控庫(kù)的配置項(xiàng) 只能由配置管理員發(fā)布 并進(jìn)行公告 對(duì)其后續(xù)的修改 刪除 重新發(fā)布 配置管理員要管

溫馨提示

  • 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)論