Mais conteúdo relacionado
專案(軟體)版本控管
- 2. Agenda
架構
使用檔案總管連線
整合 Eclipse IDE
Server 權限控管
團隊開發
專案版本規範
- 3. 架構
Repository1
Repository2
PC Subversion
(Win XP) On
Windows Server 2003
- 7. 使用檔案總管連線
Client 端軟體安裝
TortoiseSVN
http://tortoisesvn.tigris.org/
- 8. Import 專案
將需要做版本控管的檔案匯入到 Subversion
Server
- 9. Import 專案
目錄上點選「右鍵」,選 TortoiseSVN >
Import
- 10. Import 專案
URL of repository: http://server/svn/hikey
可在 Import 寫上註解
- 13. Import 專案後
Hikey
工作複本
PC Subversion
(Win XP) On
Windows Server 2003
- 15. 如何 checkout 專案 (2/4)
輸入要 checkout 的 repository URL
以及要 Checkout 到哪個目錄
- 22. 如何 update 新版的 code
(2/5)
在要 update 的檔案上面按右鍵選擇「 SVN
Commit 」
- 31. 初始匯入
將專案匯入到檔案庫
在 SVN Server 建立檔案庫
在要匯入的專案 > 右鍵 > 團隊 > 共用專案
- 34. 初始匯入
選擇在 SVN Server 建立的檔案庫位置
- 35. 初始匯入
請選擇自行指定資料夾名稱並取名為 trunk
建立專案發展主線
- 38. 初始匯入
檢視專案的圖示,確定專案已經共用成功
檔案的版本
時間
Owner
匯入完成後會自動成為 Check Out 狀態
- 50. 共用專案狀態圖 (Mode 1)
團隊同時修改一個專案
Project / trunk
SVN Server
Subclipse Subclipse
Eclipse Eclipse
工作複本 工作複本
Main Coder Assistant Coder
- 51. 合併協助者的程式
Main Coder 合併 Assistant Coder 的修改
合併方式
直接合併
新舊版本比較後合併
合併種類
Assistant 異動合併
Assistant 新增合併
- 54. 合併協助者的程式
Assistant 版本的變動
SVN Server 的 Project / trunk 已經有最新版本
此版本由協助者建立
Main Coder 的版本已經 Out-Of-Date
- 55. 合併協助者的程式
Main Coder 進行合併
工作複本已經過期
此合併是將檔案庫的新版本合併到工作複本
維持 Main Coder 有最新的程式版本
- 59. 合併協助者的程式 - 直接合併
Main Coder 的檔案會有異動
確認異動內容
執行更新或復原
因工作複本已經
過期,所以不能
使用送交
- 60. 合併協助者的程式 - 差異合併
在要合併的檔案右鍵 > 取代為 > 修訂版
本
使用比較取代的功能來異動檔案,可解決衝突
異動後執行更新或復原
- 61. 合併協助者的程式
維持 Assistant 的 Code 與 Main Coder 同步
由 Assistant 執行合併
合併時機與版本
Main Coder 通常是專案開發負責人
由 Main Coder 決定週期
專案輸出版本
由 Main Coder 輸出
由 Main Coder 定義版本次號
- 62. 共用專案狀態圖 (Mode 2)
使用分支
Project / trunk Project / branches
SVN Server
Subclipse Subclipse
Eclipse Eclipse
工作複本 工作複本
Main Coder Assistant Coder
- 63. 團隊開發 - 分支作業
由發展主線 (trunk) 建立複本 (branches)
部分新功能或異動功能由 branches 負責
避免同時異動 ( 誤刪、誤改 )trunk 而造成版本
不穩定
branches 修改後再 merge 回 trunk
- 64. 建立分支
使用 SVN 檔案庫瀏覽器建立資料夾
- 65. 建立分支
填入資料夾名稱 branches
- 67. 建立分支
在 SVN 檔案庫瀏覽器可看到新的資料夾
僅是個資料夾
資料夾的意義是我們賦予的
用來作為分支的管理
- 68. 建立分支
在 trunk 的專案右鍵 > 團隊 > 分支 / 標
記
- 71. 建立分支
將目標 URL 附加上功能名稱,如 :
/branches/member_function ,方便辨識
- 72. 建立分支
在 SVN 檔案庫瀏覽器將會看到新的分支
建立好分支後就可以如同
前面所述,由 Assistant
Coder 進行功能開發
Assistant Coder 的送交將
不會影響到 Main Coder
- 75. 合併分支
Main Coder 應定期將 branches 的修改合
併回 trunk ,以防止 branches 的修改遠離
trunk
合併分支的過程
將 trunk 的檔案庫與 branches 的檔案庫合併後
1.
存到 trunk 的工作複本
trunk 的工作複本確認過異動項目後進行送交或
2.
是復原
- 76. 合併分支的過程
Project / trunk Project / branches
SVN Server
1
3
1
Subclipse
Subclipse
2
Eclipse
Eclipse
工作複本
Assistant Coder
Main Coder
工作複本
- 77. 合併分支
團隊 > 合併
目標路徑選擇 branches 裡的目標,並且選擇要
合併的版本
- 78. 合併分支
亦可使用比較的方式來進行合併
比較 > 分支 / 標記
- 79. 合併分支
填入比較對象就可以將差異部分顯示並決定
要合併的差異點
- 80. 專案版本規範
開發階段 (development)
Trunk
Branches
由 subversion 控管
上線階段 (production)
Tags
放置於特定的 folder
- 81. 專案版本規範
版本規範
三個數字
專案整體性異動 . 功能新增異動 . 功能修正
Ex:
__tags
|__1.2.21
|__file1.jsp
|__file2.jsp
|__1.2.22
|__file1.jsp
|__file2.jsp