天天看點

SVN項目管理:分支庫與合并庫        如何分支?           合并分支到trunk?

       上周接到PM大人的新任務,給主庫做分支。

       首先,先來看下SVN預設的三大檔案夾,這三個檔案夾建完庫之後,一般預設會有,但是以前用的時候,還是比較簡陋的,幾乎都是大家送出到trunk裡面,整個開發流程下來,一直用的是這個庫。

        那麼,這三個檔案夾都應該用來放什麼東西呢?

        分支(Branching)

             分支起始的時候是主線的一個拷貝,但是其後他将保持獨立性,擁有自己的變化。

            有時你需要建立一個分支,例如你需要開發一個新功能,但是你又不希望新功能開

            發完成之前影響主線的開發。

      标記(Tagging)

              标記是版本庫中一個特定版本的快照。通常當項目進展到裡程碑或者你預備發 布

              release 版本的時候你需要建立一個标簽。 雖然也可以對标記進行 Commit, 但是一般

              都不這麼做。

        合并(Merging)

               當分支開發進行到某個特定場景的時候,通常需要将更改合并到主線中。例如,如

               果開發的心功能已經穩定,那麼分支就可以合并到主幹了。

           這邊的項目是,項目剛上線,但是有很多bug,也有很多新需求,是以,将現在主庫中的代碼放到了分支一份,然後大家重定位到分支庫,修改分支庫内容。當測試通過後,再合并到主庫中。

           在檢出的trunk目錄下的項目上,選擇分支(其實分支和打tag操作是很一樣的)。

SVN項目管理:分支庫與合并庫        如何分支?           合并分支到trunk?

                     之後,我們在伺服器上看,就會看到branch目錄下多出了"分支測試2";

SVN項目管理:分支庫與合并庫        如何分支?           合并分支到trunk?

            檢視版本分支圖:

SVN項目管理:分支庫與合并庫        如何分支?           合并分支到trunk?

                 可以看出各個分支版本是從哪個版本分支出去的。

                    當我們有的多個分支開發完畢,這是就需要合并回主庫。

SVN項目管理:分支庫與合并庫        如何分支?           合并分支到trunk?

               當選擇合并完成之後,發現本地工作副本變為修改過未送出的狀态。

                       此時,我們還有将本地工作副本送出一下,才能真正合并。

SVN項目管理:分支庫與合并庫        如何分支?           合并分支到trunk?

             其實SVN的管理還是比較集中式的管理,跟現在很多人用的集中式的GIT相比,SVN很少分支。。。N多。。。

          最後想說,版本控制不是源碼管理。。。。各位開發請自重。。。。