220 likes | 587 Views
軟體開發中的版本控制工具及概念 ─以 SVN 實作. 9662106 俞政杉 9662121 潘宗孝 9662316 高魁良 9762134 賴勇安. WHY 版本控制 ?. 當下列情況發生 …. 好多人開發同一支程式 好多個地方開發 命名習慣不佳 ex:. 如果,有一套系統. 有一套系統 管理檔案 救回刪除或被覆蓋的檔案 可以從舊的版本再出發 告訴你各版本間的差異 告訴你專案開發的順序及修改人員 凍結程式碼, 以免 在改 bug 的同時,修改了 其他 的 code 而增加更多新的問題
E N D
軟體開發中的版本控制工具及概念─以SVN實作 9662106 俞政杉 9662121 潘宗孝9662316 高魁良 9762134 賴勇安
當下列情況發生… • 好多人開發同一支程式 • 好多個地方開發 • 命名習慣不佳 ex:
如果,有一套系統 • 有一套系統 • 管理檔案 • 救回刪除或被覆蓋的檔案 • 可以從舊的版本再出發 • 告訴你各版本間的差異 • 告訴你專案開發的順序及修改人員 • 凍結程式碼,以免在改 bug 的同時,修改了其他的code而增加更多新的問題 • 從一個人到很多人都可以使用
版本控制:基本動作 • 基線(Baseline):穩定版本,開發的基礎。 • 檔案庫(Repository): 存儲檔案的新版本還有歷史資料的地方。 • 工作版本(Working copy): 從檔案庫中取出一個客戶端的複製。 • 提交(Commit / Check-In): 將本地端的修改送回檔案庫。 • 取出(Check-Out) : 從檔案庫取出檔案到客戶端。 • 更新(Update) :將檔案庫的修改送到本地端。
版本控制:基本動作 • 變更(Change) :對一份文件作的更動。 • 變更記錄(Change List) • 合併(Merge / Integration) 合併各個改變。 • 版次(Revision) • 匯入(Import) • 匯出(Export) • 衝突(Conflict) : 當兩方更動同一份文件會發生衝突。
版本控制:版本控制軟體 • 免費軟體 : • CVS (Concurrent Version System) • SVN (Apache Subversion) • 低價軟體 : • Microsoft Visual SourceSafe • 高價軟體 : • Rational ClearCase • MKS • PVCS Dimensions • Oracle9i SCM
版本控制:別人怎麼用 • OSSF Open Foundry
svn簡介 • Apache Subversion • CollabNet, Inc. • C語言開發 • Cross-platform • Open Source • 穩定版本: 1.6.11 • 2000年 –now • 2001 subversion自我寄生
svn簡介 • 一個很像CVS的自由軟體版本控制系統 • 並不想在版本控制方法論上有新突破 • 保留相同的開發模型 • 任何CVS用戶可以不費什麼力氣的轉換過來
svn簡介 • FreeBSD • Apache Software Foundation • GCC • Python • Samba • php • Google Code • SourceForge
有人說… • 版本控管是團隊開發必備的一項工具,沒有辦法想像沒有 Subversion 還能開發的方式。 • 現在就算是只有一個人在開發也都會使用版本控制系統來作自己的軟體控管。 • 10 多年前我們還沒有開始使用這樣的工具時,是使用 fileserver 作為程式放置的共同區域,每個禮拜都會發生至少一次程式被蓋掉的問題。