一 創建分支branches
彈出下面對話框
repository location:選擇庫的位置,也就是trunk主幹線地址,在copy to中選擇要創建的分支地址,在branch or tag後面的按鈕點擊選擇庫文件
由於是第一次創建分支,這裏的branch locations裏面沒有信息,我們要把branches路徑添加進去
點擊 + 號
選擇branches,點擊ok
點擊ok 選擇好base url,輸入我們要創建的分支名稱(這裏隨意,爲了形象的表達我們的分支版本,這裏用的v1.0,即branches分支的第一個版本),記得comment裏面要填寫信息,類似於 從trunk版本3創建分支到branches v1.0
然後在PHPstorm裏面檢出branches v1.0代碼
點擊添加一個 svn鏈接地址
點擊checkout,這時候就可以檢出一份 branches v1.0的工作副本的代碼到本地
二 合併分支到主幹
我在branches v1.0上修改了一個文件
在trunk上也在相同的位置修改了這個文件的內容,目的是爲了創建一個衝突,一會測試下衝突解決
分別提交各自的修改
在合併之前首先update一下,保證是最新的內容
接下來開始合併
在trunk下點擊 vcs->merge from
下方會有一個
點擊configure branches出現如下
這裏就是我在創建分支增加的 branches location,選中,點擊 ok
點擊merge from
選擇從branches合併過來,再彈出的窗中選擇 v1.0
點擊ok後這裏出現這個對話框,第一個是合併全部,第二個是快速選擇合併我們使用第三個 select with pre-filter 選擇增量合併,即只合並分支中增加的
在彈出的對話框中,可以看到剛纔我們修改提交的內容和版本號
選中,點擊 merge all
合併開始,彈出對話框提示有衝突,這時候需要解決衝突
點擊merge 出現了左右樹,左面開始依次是 trunk修改部分,最終結果,branches修改部分,這裏我們需要的是將branches的內容所以點擊了branches的添加按鈕 “<<” ,叉掉trunk的修改 “X”
彈出 save and finish
提示合併成功,提交我們的合併(commit)這裏別忘了寫上描述信息,是很重要的記錄依據(當我們遇到衝突的時候 chang list會自動創建一個merge from branches的臨時chang list)
當我們合併完成後記得刪除掉這個changlist
這時候如果branches v1.0沒有用了,我們可以刪除掉
我們想要查看合併記錄,可以使用 show history或者下面這個
三 發佈到正式環境
分支branches已經合併到了我們的主幹trunk上,這時候我們可能需要發佈到正式環境,在phpstrom中貌似沒有 show log導出功能(或者是有,我沒發現)
這時候可以使用 tortoisesvn工具,很簡單,右擊svn選擇show log,很明顯 6開始是我們合併進來的改動,如果有更多版本則按住ctrl點擊選中
選中除了/cookbook/trunk以外的所有文件,右擊選擇export導出到一個文件中
將導出的文件通過ftp工具上傳到正式環境上即可,注意文件目錄要一致!
爲什麼要記錄合併的版本號?
比如我們在branches v1.0上已經合併到了剛纔的6版本後,我們還要繼續做開發,當我們再次合併的時候只需要6-合併的版本即可