原文:
系列一版本管理軟體簡介
版本管理軟體簡介
1、問:什麼是軟體版本管理
答: 軟體版本管理是指通過執行版本控制、變更控制的規程,以及使用合適的配置管理軟體,來保證所有配置項的完整性和可跟蹤性。版本管理是對工作成果的一種有效保護。
2、問:為什麼需要版本管理
答:如果沒有軟體版本管理,最大的麻煩是工作成果無法回溯。隨著工作的進展新的程式覆蓋了老的程式,當突然發現新程式有問題而老程式正確時怎麼辦?那只能重寫老的程式來覆蓋新的程式。
過一段時間又發現原來的老程式有問題,而解決方法在原來的新程式中……您是不是快要發瘋了。 為了避免成果被覆蓋,包括我自己在內的很多人早期採用手工管理版本的方式,例如當乙個新版本
產生時用當時的日期來命名資料夾,然後再複製一下以後的修改在複製的資料夾內進行,這樣上乙個版本就被儲存下來了,周而復始不同的版本不會被覆蓋。雖然這種方式可以從某種程度上解決版本
的回溯問題,但它存在的缺點是顯而易見的:
第一點:
如果保留結果過於頻繁,將會導致產生大量的有著重複內容的資料夾,龐大的物理空間,管理起來很麻煩;如果保留舊版本的時間間隔太長,可能產生某些有用的老程式無法回溯。拿我最近開發的乙個程式來說程式只有幾十兆,經過一年的開發各版本累計到1g。
第二點:
容易產生版本的混亂,如果是團隊開發軟體,這種簡單的方法更難解決問題的本質了。
3、人的問題
版本管理的方法是成熟的,而且相應的軟體工具也是成熟的,基本上不存在看不懂、不會用的問題。版本管理的執行效果如何,完全是事在人為。
妨礙版本管理的主要問題是人們嫌麻煩和僥倖心理作怪。 在沒出亂子的情況下,執行版本控制看起來有些麻煩。每次修改工作的時候總是要get latest version,
接著check out,修改完後又要check in,多做了三步。其實這三步加起來也就十幾秒鐘,而且不費腦子,根本沒有新增多少麻煩,僅僅是個人感覺不爽而以。
然而不執行版本控制的話,萬一發生工作成果被覆蓋或丟失等問題,麻煩就大了。
4、軟體版本管理規範
軟體研發和管理過程中會產生許許多多的工作成果,例如文件、程式和資料等,他們都應當妥善地保管起來,以便查閱和修改。如果把所有檔案一股腦的塞進計算機裡,那麼使用起來很麻煩。
凡是納入版本管理範疇的工作成果統稱為配置項主要有兩大類:
第一類:
屬於產品的組成部分,例如需求文件、設計文件、源**、測試用例等等;
第二類:
在管理過程中產生的文件,例如各種計畫、報告等。每個配置項的主要屬性有名稱、識別符號、檔案狀態、版本、作者、日期等。配置項及歷史紀錄反映了軟體的演化過程。
版本控制的目的是按照一定的規則儲存配置項的所有版本,避免發生版本丟失或混亂等現象。配置項的狀態有三種:「草稿」、「正式發布」和「正在修改」
配置項的版本號與配置項的狀態緊密相關:
(1) 處於「草稿」狀態的配置項的版本號格式為:0.y.z
(2) 處於「正式發布」狀態的配置項的版本號格式為:x.y。 一般只是y值遞增,當y值到達一定的範圍時x值才發生變化。
(3) 處於「正在修改」狀態的配置項的版本號格式為:x.y.z。 一般只增大z值,當配置項修改完畢,狀態重新變成「正式發布」時,將z值變為0,增加x.y值。 開篇
系列一 版本管理軟體簡介
系列二vs專案軟體配置工具介紹
系列三visualsvn server
系列四tortoisesvn客戶端軟體
系列五ankhsvn
HTTP協議入門(一) 版本
當我們在瀏覽器的位址列輸入url後,資訊會被傳送到web伺服器,伺服器得到響應,將資料傳輸回來,展示到web頁面上,這其中的傳輸方法就是http協議。只支援get請求方法,伺服器響應返回的資料格式為,html格式的字串 get index.html不支援請求頭,所以內容格式只能是純文字 無狀態性,請...
易協流程管理軟體發布2 2版本
本次版本公升級的功能有 1 會審原則 a 所有原則 所有人通過則通過 b 任一原則 任一處理人通過可通過 c 半數原則 半數人通過則通過 d 多數原則 多數人通過則通過 2 流程編譯 本次版本編譯資訊豐富,提供錯誤資訊 警告資訊 提示資訊。3 流程迴圈處理 4 流程繪製公升級 a 提供環節型別圖例 ...
git 回滾某一版本
今天git commit 後,在git push 後面沒有加上 遠端分支,直接git push了,導致 沒有push 到origin 庫,而是直接push到了gitlab 庫。在gerrit上檢視一直沒有看到提交的資訊,但git fetch origin,git pull rebase,一直能拉下來...