專案 ( 軟體 ) 版本控管

    Using Subversion
Agenda
    架構


    使用檔案總管連線


    整合 Eclipse IDE


    Server 權限控管


    團隊開發


    專案版本規範

架構



                           Repository1

                           Repository2

PC             Subversion
(Win XP)  ...
安裝 SubVersion

    請參閱官方網站


        http://subversion.tigris.org/
    
建立 Repository

    在 svn 目錄下建立


    專案用的資料夾
    在資料夾內如


    圖示操作
建立 Repository

    選擇 Repository 的檔案格式

使用檔案總管連線

    Client 端軟體安裝


        TortoiseSVN
    


        http://tortoisesvn.tigris.org/
    

    
Import 專案

    將需要做版本控管的檔案匯入到 Subversion


    Server
Import 專案

    目錄上點選「右鍵」,選 TortoiseSVN >


    Import
Import 專案
    URL of repository: http://server/svn/hikey


        可在 Import 寫上註解
    
Import 專案

    輸入帳號密碼進行 import

Import 專案

    成功完成 import 後,會產生第 1 個版本。

Import 專案後



                                  Hikey
工作複本



       PC             Subversion
       (Win XP)           O...
如何 checkout 專案 (1/4)

    在桌面點選右鍵,選擇 SVN Checkout

如何 checkout 專案 (2/4)

    輸入要 checkout 的 repository URL


    以及要 Checkout 到哪個目錄

如何 checkout 專案 (3/4)

    輸入帳號密碼

如何 checkout 專案 (4/4)

    Checkout 完成

鎖定已 checkout 的 code
    (1/3)
    避免別人 checkout 舊的程式碼。

鎖定已 checkout 的 code
(2/3)
鎖定已 checkout 的 code
(3/3)
如何 update 新版的 code
    (1/5)
    檔案經過修改之後,會呈現 「驚歎號」的


    符號
如何 update 新版的 code
    (2/5)
    在要 update 的檔案上面按右鍵選擇「 SVN


    Commit 」
如何 update 新版的 code
    (3/5)
    註記此次修改內容

如何 update 新版的 code
(4/5)
如何 update 新版的 code
    (5/5)
    commit 之後,整個 repository 就會變成


    新的版本
檢視專案的 repository (1/4)

    在 checkout 的目錄上點選 「右鍵」,如


    圖選擇。
檢視專案的 repository (2/4)

    可檢視版本的異動檔案

檢視專案的 repository (3/4)

    在檔案上面點選 Show log 可查看每個版本


    異動的資訊。
檢視專案的 repository (4/4)

                 檔案修改的歷程




                  該次修改的註記




                 此次版本異動的
              ...
安裝 Eclipse Plug-in
初始匯入

    將專案匯入到檔案庫


        在 SVN Server 建立檔案庫
    


        在要匯入的專案 > 右鍵 > 團隊 > 共用專案
    
初始匯入

    點選 SVN ,下一步

初始匯入

    建立新的檔案庫位置,下一步

初始匯入

    選擇在 SVN Server 建立的檔案庫位置

初始匯入

    請選擇自行指定資料夾名稱並取名為 trunk


        建立專案發展主線
    
初始匯入

    點完成,開始共用專案的建立

初始匯入

    編輯備註欄,方便以後的追蹤

初始匯入

    檢視專案的圖示,確定專案已經共用成功


        檔案的版本
    


        時間
    


        Owner
    




    匯入完成後會自動成為 Check Out ...
取出專案 (Check Out)

    取出自己的專案


        重新啟動 Eclipse 需手動 Check Out 專案
    


        建議養成習慣
    
取出專案 (Check Out)

    選擇種類版本控制種類

取出專案 (Check Out)

    建立連線

取出他人專案 (Check Out)

    協助修改他人專案


        使用 SVN 檔案庫瀏覽器
    


        視窗 > 顯示視圖 > 其他
    
使用 SVN 檔案庫瀏覽器

    建立檔案庫的連線

使用 SVN 檔案庫瀏覽器

    填入檔案庫的位置

使用 SVN 檔案庫瀏覽器

    檢視檔案庫的內容

取出他人專案 (Check Out)

    在 SVN 檔案庫瀏覽器的 trunk 右鍵 > 取出


    為
取出他人專案 (Check Out)

    將會建立一個新的專案


        填入專案名稱並選擇版本
    
取出他人專案 (Check Out)

    選擇取出的檔案放置路徑

取出他人專案 (Check Out)

    檢視取出的專案

共用專案狀態圖 (Mode 1)

    團隊同時修改一個專案





                            Project / trunk
     SVN Server




              Subcl...
合併協助者的程式

    Main Coder 合併 Assistant Coder 的修改


    合併方式


        直接合併
    


        新舊版本比較後合併
    


    合併種類


...
合併協助者的程式

    Assistant 異動並送交檔案


        異動
    
合併協助者的程式

    Assistant 異動並送交檔案


        送交
    
合併協助者的程式

    Assistant 版本的變動


        SVN Server 的 Project / trunk 已經有最新版本
    


        此版本由協助者建立
    


        Ma...
合併協助者的程式

    Main Coder 進行合併


        工作複本已經過期
    


    此合併是將檔案庫的新版本合併到工作複本


        維持 Main Coder 有最新的程式版本
    
合併協助者的程式 - 直接合併

    在需要合併的檔案右鍵 > 團隊 > 合併


    確認路徑

合併協助者的程式 - 直接合併

    使用顯示記錄來決定合併的版本

合併協助者的程式 - 直接合併

    將會自動帶出所需更新的版本

合併協助者的程式 - 直接合併

    Main Coder 的檔案會有異動


        確認異動內容
    


        執行更新或復原
    

            因工作複本已經
        


 ...
合併協助者的程式 - 差異合併

    在要合併的檔案右鍵 > 取代為 > 修訂版


    本
        使用比較取代的功能來異動檔案,可解決衝突
    


        異動後執行更新或復原
    
合併協助者的程式

    維持 Assistant 的 Code 與 Main Coder 同步


        由 Assistant 執行合併
    


    合併時機與版本


        Main Coder 通常...
共用專案狀態圖 (Mode 2)

    使用分支




                           Project / trunk                 Project / branches
    SVN Serv...
團隊開發 - 分支作業

    由發展主線 (trunk) 建立複本 (branches)


        部分新功能或異動功能由 branches 負責
    


        避免同時異動 ( 誤刪、誤改 )trunk 而造...
建立分支

    使用 SVN 檔案庫瀏覽器建立資料夾

建立分支

    填入資料夾名稱 branches

建立分支

    填入註記,點選完成

建立分支

    在 SVN 檔案庫瀏覽器可看到新的資料夾


        僅是個資料夾
    


        資料夾的意義是我們賦予的
    


        用來作為分支的管理
    
建立分支

    在 trunk 的專案右鍵 > 團隊 > 分支 / 標


    記
建立分支

    點瀏覽來設定目標 URL

建立分支

    選擇 branches

建立分支

    將目標 URL 附加上功能名稱,如 :


    /branches/member_function ,方便辨識
建立分支

    在 SVN 檔案庫瀏覽器將會看到新的分支


        建立好分支後就可以如同
    

        前面所述,由 Assistant
        Coder 進行功能開發
        Assista...
取出分支 (check out branch)

    如同一般的 Check Out

取出分支 (check out branch)

    Check Out 後的專案將類似圖示


        分支的異動將存在於分支的檔案庫裡
    
合併分支

         Main Coder 應定期將 branches 的修改合


         併回 trunk ,以防止 branches 的修改遠離
         trunk
         合併分支的過程


 ...
合併分支的過程


                          Project / trunk       Project / branches
   SVN Server

                              ...
合併分支

    團隊 > 合併


        目標路徑選擇 branches 裡的目標,並且選擇要
    

        合併的版本
合併分支

    亦可使用比較的方式來進行合併


        比較 > 分支 / 標記
    
合併分支

    填入比較對象就可以將差異部分顯示並決定


    要合併的差異點
專案版本規範

    開發階段 (development)


        Trunk
    


        Branches
    


        由 subversion 控管
    


    上線階段 ...
專案版本規範

    版本規範


        三個數字
    


        專案整體性異動 . 功能新增異動 . 功能修正
    

        Ex:
    

            __tags
    ...
Upcoming SlideShare
Loading in...5
×

專案(軟體)版本控管

2,353

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,353
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
48
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

專案(軟體)版本控管

  1. 1. 專案 ( 軟體 ) 版本控管 Using Subversion
  2. 2. Agenda 架構  使用檔案總管連線  整合 Eclipse IDE  Server 權限控管  團隊開發  專案版本規範 
  3. 3. 架構 Repository1 Repository2 PC Subversion (Win XP) On Windows Server 2003
  4. 4. 安裝 SubVersion 請參閱官方網站  http://subversion.tigris.org/ 
  5. 5. 建立 Repository 在 svn 目錄下建立  專案用的資料夾 在資料夾內如  圖示操作
  6. 6. 建立 Repository 選擇 Repository 的檔案格式 
  7. 7. 使用檔案總管連線 Client 端軟體安裝  TortoiseSVN  http://tortoisesvn.tigris.org/  
  8. 8. Import 專案 將需要做版本控管的檔案匯入到 Subversion  Server
  9. 9. Import 專案 目錄上點選「右鍵」,選 TortoiseSVN >  Import
  10. 10. Import 專案 URL of repository: http://server/svn/hikey  可在 Import 寫上註解 
  11. 11. Import 專案 輸入帳號密碼進行 import 
  12. 12. Import 專案 成功完成 import 後,會產生第 1 個版本。 
  13. 13. Import 專案後 Hikey 工作複本 PC Subversion (Win XP) On Windows Server 2003
  14. 14. 如何 checkout 專案 (1/4) 在桌面點選右鍵,選擇 SVN Checkout 
  15. 15. 如何 checkout 專案 (2/4) 輸入要 checkout 的 repository URL  以及要 Checkout 到哪個目錄 
  16. 16. 如何 checkout 專案 (3/4) 輸入帳號密碼 
  17. 17. 如何 checkout 專案 (4/4) Checkout 完成 
  18. 18. 鎖定已 checkout 的 code (1/3) 避免別人 checkout 舊的程式碼。 
  19. 19. 鎖定已 checkout 的 code (2/3)
  20. 20. 鎖定已 checkout 的 code (3/3)
  21. 21. 如何 update 新版的 code (1/5) 檔案經過修改之後,會呈現 「驚歎號」的  符號
  22. 22. 如何 update 新版的 code (2/5) 在要 update 的檔案上面按右鍵選擇「 SVN  Commit 」
  23. 23. 如何 update 新版的 code (3/5) 註記此次修改內容 
  24. 24. 如何 update 新版的 code (4/5)
  25. 25. 如何 update 新版的 code (5/5) commit 之後,整個 repository 就會變成  新的版本
  26. 26. 檢視專案的 repository (1/4) 在 checkout 的目錄上點選 「右鍵」,如  圖選擇。
  27. 27. 檢視專案的 repository (2/4) 可檢視版本的異動檔案 
  28. 28. 檢視專案的 repository (3/4) 在檔案上面點選 Show log 可查看每個版本  異動的資訊。
  29. 29. 檢視專案的 repository (4/4) 檔案修改的歷程 該次修改的註記 此次版本異動的 檔案
  30. 30. 安裝 Eclipse Plug-in
  31. 31. 初始匯入 將專案匯入到檔案庫  在 SVN Server 建立檔案庫  在要匯入的專案 > 右鍵 > 團隊 > 共用專案 
  32. 32. 初始匯入 點選 SVN ,下一步 
  33. 33. 初始匯入 建立新的檔案庫位置,下一步 
  34. 34. 初始匯入 選擇在 SVN Server 建立的檔案庫位置 
  35. 35. 初始匯入 請選擇自行指定資料夾名稱並取名為 trunk  建立專案發展主線 
  36. 36. 初始匯入 點完成,開始共用專案的建立 
  37. 37. 初始匯入 編輯備註欄,方便以後的追蹤 
  38. 38. 初始匯入 檢視專案的圖示,確定專案已經共用成功  檔案的版本  時間  Owner  匯入完成後會自動成為 Check Out 狀態 
  39. 39. 取出專案 (Check Out) 取出自己的專案  重新啟動 Eclipse 需手動 Check Out 專案  建議養成習慣 
  40. 40. 取出專案 (Check Out) 選擇種類版本控制種類 
  41. 41. 取出專案 (Check Out) 建立連線 
  42. 42. 取出他人專案 (Check Out) 協助修改他人專案  使用 SVN 檔案庫瀏覽器  視窗 > 顯示視圖 > 其他 
  43. 43. 使用 SVN 檔案庫瀏覽器 建立檔案庫的連線 
  44. 44. 使用 SVN 檔案庫瀏覽器 填入檔案庫的位置 
  45. 45. 使用 SVN 檔案庫瀏覽器 檢視檔案庫的內容 
  46. 46. 取出他人專案 (Check Out) 在 SVN 檔案庫瀏覽器的 trunk 右鍵 > 取出  為
  47. 47. 取出他人專案 (Check Out) 將會建立一個新的專案  填入專案名稱並選擇版本 
  48. 48. 取出他人專案 (Check Out) 選擇取出的檔案放置路徑 
  49. 49. 取出他人專案 (Check Out) 檢視取出的專案 
  50. 50. 共用專案狀態圖 (Mode 1) 團隊同時修改一個專案  Project / trunk SVN Server Subclipse Subclipse Eclipse Eclipse 工作複本 工作複本 Main Coder Assistant Coder
  51. 51. 合併協助者的程式 Main Coder 合併 Assistant Coder 的修改  合併方式  直接合併  新舊版本比較後合併  合併種類  Assistant 異動合併  Assistant 新增合併 
  52. 52. 合併協助者的程式 Assistant 異動並送交檔案  異動 
  53. 53. 合併協助者的程式 Assistant 異動並送交檔案  送交 
  54. 54. 合併協助者的程式 Assistant 版本的變動  SVN Server 的 Project / trunk 已經有最新版本  此版本由協助者建立  Main Coder 的版本已經 Out-Of-Date 
  55. 55. 合併協助者的程式 Main Coder 進行合併  工作複本已經過期  此合併是將檔案庫的新版本合併到工作複本  維持 Main Coder 有最新的程式版本 
  56. 56. 合併協助者的程式 - 直接合併 在需要合併的檔案右鍵 > 團隊 > 合併  確認路徑 
  57. 57. 合併協助者的程式 - 直接合併 使用顯示記錄來決定合併的版本 
  58. 58. 合併協助者的程式 - 直接合併 將會自動帶出所需更新的版本 
  59. 59. 合併協助者的程式 - 直接合併 Main Coder 的檔案會有異動  確認異動內容  執行更新或復原  因工作複本已經  過期,所以不能 使用送交
  60. 60. 合併協助者的程式 - 差異合併 在要合併的檔案右鍵 > 取代為 > 修訂版  本 使用比較取代的功能來異動檔案,可解決衝突  異動後執行更新或復原 
  61. 61. 合併協助者的程式 維持 Assistant 的 Code 與 Main Coder 同步  由 Assistant 執行合併  合併時機與版本  Main Coder 通常是專案開發負責人  由 Main Coder 決定週期  專案輸出版本  由 Main Coder 輸出  由 Main Coder 定義版本次號 
  62. 62. 共用專案狀態圖 (Mode 2) 使用分支  Project / trunk Project / branches SVN Server Subclipse Subclipse Eclipse Eclipse 工作複本 工作複本 Main Coder Assistant Coder
  63. 63. 團隊開發 - 分支作業 由發展主線 (trunk) 建立複本 (branches)  部分新功能或異動功能由 branches 負責  避免同時異動 ( 誤刪、誤改 )trunk 而造成版本  不穩定 branches 修改後再 merge 回 trunk 
  64. 64. 建立分支 使用 SVN 檔案庫瀏覽器建立資料夾 
  65. 65. 建立分支 填入資料夾名稱 branches 
  66. 66. 建立分支 填入註記,點選完成 
  67. 67. 建立分支 在 SVN 檔案庫瀏覽器可看到新的資料夾  僅是個資料夾  資料夾的意義是我們賦予的  用來作為分支的管理 
  68. 68. 建立分支 在 trunk 的專案右鍵 > 團隊 > 分支 / 標  記
  69. 69. 建立分支 點瀏覽來設定目標 URL 
  70. 70. 建立分支 選擇 branches 
  71. 71. 建立分支 將目標 URL 附加上功能名稱,如 :  /branches/member_function ,方便辨識
  72. 72. 建立分支 在 SVN 檔案庫瀏覽器將會看到新的分支  建立好分支後就可以如同  前面所述,由 Assistant Coder 進行功能開發 Assistant Coder 的送交將  不會影響到 Main Coder
  73. 73. 取出分支 (check out branch) 如同一般的 Check Out 
  74. 74. 取出分支 (check out branch) Check Out 後的專案將類似圖示  分支的異動將存在於分支的檔案庫裡 
  75. 75. 合併分支 Main Coder 應定期將 branches 的修改合  併回 trunk ,以防止 branches 的修改遠離 trunk 合併分支的過程  將 trunk 的檔案庫與 branches 的檔案庫合併後 1. 存到 trunk 的工作複本 trunk 的工作複本確認過異動項目後進行送交或 2. 是復原
  76. 76. 合併分支的過程 Project / trunk Project / branches SVN Server 1 3 1 Subclipse Subclipse 2 Eclipse Eclipse 工作複本 Assistant Coder Main Coder 工作複本
  77. 77. 合併分支 團隊 > 合併  目標路徑選擇 branches 裡的目標,並且選擇要  合併的版本
  78. 78. 合併分支 亦可使用比較的方式來進行合併  比較 > 分支 / 標記 
  79. 79. 合併分支 填入比較對象就可以將差異部分顯示並決定  要合併的差異點
  80. 80. 專案版本規範 開發階段 (development)  Trunk  Branches  由 subversion 控管  上線階段 (production)  Tags  放置於特定的 folder 
  81. 81. 專案版本規範 版本規範  三個數字  專案整體性異動 . 功能新增異動 . 功能修正  Ex:  __tags  |__1.2.21 |__file1.jsp |__file2.jsp |__1.2.22 |__file1.jsp |__file2.jsp
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×