作者guardlan (由夜)
看板PHP
标题Re: [请益] SVN 概念...
时间Sat Apr 28 12:28:32 2012
我个人是 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
1F:推 alpe:其实不用拆svn tree,用权限去控管就好 04/28 13:51
2F:→ averywu:感谢,清楚多了! 04/30 21:50