Download presentation
Presentation is loading. Please wait.
1
軟體開發中的版本控制工具及概念 ─以SVN實作
俞政杉 潘宗孝 高魁良 賴勇安
2
WHY版本控制?
3
當下列情況發生… 好多人開發同一支程式 好多個地方開發 命名習慣不佳 ex:
4
如果,有一套系統 有一套系統 管理檔案 救回刪除或被覆蓋的檔案 可以從舊的版本再出發 告訴你各版本間的差異 告訴你專案開發的順序及修改人員
凍結程式碼,以免在改 bug 的同時,修改了其他的code而增加更多新的問題 從一個人到很多人都可以使用
5
版本控制
6
版本控制
7
版本控制:Revision Graph
8
版本控制
9
版本控制:基本動作 基線(Baseline):穩定版本,開發的基礎。 檔案庫(Repository): 存儲檔案的新版本還有歷史資料的地方。
工作版本(Working copy): 從檔案庫中取出一個客戶端的複製。 提交(Commit / Check-In): 將本地端的修改送回檔案庫。 取出(Check-Out) : 從檔案庫取出檔案到客戶端。 更新(Update) :將檔案庫的修改送到本地端。
10
版本控制:基本動作 變更(Change) :對一份文件作的更動。 變更記錄(Change List)
合併(Merge / Integration) 合併各個改變。 版次(Revision) 匯入(Import) 匯出(Export) 衝突(Conflict) : 當兩方更動同一份文件會發生衝突。
11
版本控制:版本控制軟體 免費軟體 : 低價軟體 : 高價軟體 : CVS (Concurrent Version System)
SVN (Apache Subversion) 低價軟體 : Microsoft Visual SourceSafe 高價軟體 : Rational ClearCase MKS PVCS Dimensions Oracle9i SCM
12
版本控制:別人怎麼用 OSSF Open Foundry
13
版本控制:別人怎麼用 1 PCMan BBS 連線軟體 使用 2 新同文堂 3
Wow! USB VirusKiller 可攜式儲存設備防毒軟體 4 可攜應用程式套件中文化 5 GNetDict - 各種線上免費字典的 GTK+ 前端介面,查 單字方便又快速 (for Linux) 6 dotProject 中文開發與推廣 7 Joomla!中文版 8 Hinedo – 輕鬆聽hinet radio 9 MozTW 團隊: Firefox 等 Mozilla 軟體在地化與推廣 10 Lazybuntu 11 我要取名字 12 Tag Mix 未使用 13 中文 WordPress 14 可攜式firefox中文化 15 Stellarium 中文包&相關在地地景
14
SVN – SUBVERSION
15
svn簡介 Apache Subversion CollabNet, Inc. C語言開發 Cross-platform
Open Source 穩定版本: 2000年 – now 2001 subversion自我寄生
16
svn簡介 一個很像CVS的自由軟體版本控制系統 並不想在版本控制方法論上有新突破 保留相同的開發模型
17
svn簡介 FreeBSD Apache Software Foundation GCC Python Samba php
Google Code SourceForge
18
DEMO
19
最後…
20
有人說… 版本控管是團隊開發必備的一項工具,沒有辦法想像沒有 Subversion 還能開發的方式。
現在就算是只有一個人在開發也都會使用版本控制系統 來作自己的軟體控管。 10 多年前我們還沒有開始使用這樣的工具時,是使用 fileserver 作為程式放置的共同區域,每個禮拜都會發生至少一次程式被蓋掉的問題。
Similar presentations