Re: [請益] SVN 概念...

看板PHP作者 (由夜)時間13年前 (2012/04/28 12:28), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串5/5 (看更多)
我個人是 SVN 愛用者... git 沒用過所以沒辦法比較... 我想分享一下我覺得比較合理的開發流程 開發者A (userA) http://userA.domainname.com 開發者B (userB) http://userB.domainname.com 開發者C (userC) http://userC.domainname.com 開發測試機 (dev) http://wwwdev.domainname.com 正式測試機 (stg) http://wwwstg.domainname.com 正式機 (prd) http://www.domainname.com 開發者A 的開發環境 (要讓開發者A 的開發環境是從 svn co 出來才行) userA@dev /home/UserA/ $ svn co svn://svn.domain.com/web web_root userA@dev /home/UserA/ $ cd web_root userA@dev /home/UserA/web_root $ 開發者B 的開發環境 userB@dev /home/UserB/ $ svn co svn://svn.domain.com/web web_root userB@dev /home/UserB $ cd web_root userB@dev /home/UserB/web_root $ Apache 利用 VirtualHost 設定 /home/UserA/web_root 為 http://userA.domainname.com /home/UserB/web_root 為 http://userB.domainname.com 這樣就每個開發者的環境就不一樣啦 正式環境 (stg 跟 prd 也要從 svn 內取得檔案) admin@stg /var/www/ $ svn co svn://svn.domain.com/web html admin@stg /var/www/ $ cd html admin@stg /var/www/html $ (/var/www/html 為正式路徑, 也就是每次 svn up 其實就已經算上到正式機的意思) 開發者A 開發完某支程式的時候記得 ci 檔案進 svn 正式環境直接 svn up 拉回 透過這種方式來管理程式 即使 userB 也修改同之檔案 當 userB ci 該檔案的時候 SVN 會直接告訴你說你的檔案版本有衝突 這時候 userB 應該要把自己修改的檔案改名或是備份 重新 svn up 回最新版本 再拿最新版本跟自己的檔案比較 之後再重新 svn ci 回 SVN 而且 SVN 本身有 merge 的功能, 即使是同個檔案 若 userA 跟 userB 修改的區段沒有衝突的情況下 SVN 會自己合併該檔案 (狀態會是G) 流程應該是這樣比較合理吧? 這種流程算是比較簡便快速, 但是如果需要主管審核才能上 會建議再拆兩個 svn tree 一個給開發一個給正式 這是小弟的看法, 還請各位先進於予指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.137.156

04/28 13:51, , 1F
其實不用拆svn tree,用權限去控管就好
04/28 13:51, 1F

04/30 21:50, , 2F
感謝,清楚多了!
04/30 21:50, 2F
文章代碼(AID): #1Fct7pt1 (PHP)
文章代碼(AID): #1Fct7pt1 (PHP)