SVN-服務(wù)器操作指南PPT課件_第1頁
SVN-服務(wù)器操作指南PPT課件_第2頁
SVN-服務(wù)器操作指南PPT課件_第3頁
SVN-服務(wù)器操作指南PPT課件_第4頁
SVN-服務(wù)器操作指南PPT課件_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論