我正在管理当前两个不同的Web应用程序的开发,其中一个将在星期日之前推出beta测试。
我有一些以前的SVN使用经验,在XP机器上用TortoiseSVN在本地玩了几个小时之后,但实际上我从来没有真正理解它。
然而,感觉现在是重新考虑SVN的时候了,并且真的试图给它一个诚实的机会。如果我知道每个文件的版本化备份都可用,我至少会睡得更好,并且每当有什么东西击中粉丝时,很容易将更改回滚到Web应用程序。特别是随着应用程序变得越来越大。
我目前专门在Eclipse中使用PHP,并通过FTP为beta环境部署所有文件。
我已经阅读了大多数关于将Eclipse与SVN插件一起使用的帖子,但我真的不明白使用SVN时工作流的实际情况。
我每天早上都会检查我的存储库,做我最擅长的事情,并在结束时提交所有更改吗?
如何在本地文件结构,SVN存储库和多个环境(实时环境,测试环境等)之间保持同步?
告诉我使用SVN时工作流程的外观!
答案 0 :(得分:4)
您可以首先阅读免费在线图书:
第1章和第2章介绍了Subversion的基本概念和基本用法。然后剩下的章节将探讨更高级的主题。
答案 1 :(得分:2)
以下是我使用SVN执行操作的步骤:
分支处理bug /功能 - >当开始处理错误或功能时,我创建了一个新的分支,采用代码的头部修订版,以便我在我自己的沙盒中。
当我修复了错误或完成了该功能后,然后切换回主分支并合并到修复程序中,以便它成为下一个代码推送到dev clean或test的一部分。虽然这并不简单,但并不像人们所担心的那样痛苦。
定期还有其他事情要做:
清理旧分支 - >随着功能和错误的完成,有时值得回去修剪已完成的工作,以便文件夹在Repo浏览器中不会变得庞大。
更新我的包装盒上的代码 - >有时我会在功能和错误之间花一点时间,尽管我仍然希望尽可能地保持我的机器上的代码最新。
答案 2 :(得分:1)
嗯,
如果我可以提及我目前正在处理的小应用程序,那就是:http://www.mirios.com.au/dashy,它会处理您从部署/配置方面关注的内容(回滚更改,处理多个环境的配置: dev / staging / live等)目前仅适用于Windows + SVN。 (然而,开始使用它会稍微涉及一些,文档并不是特别完整,尽管它给出了一个想法)。
关于如何一般地使用SVN,你有一个构建服务器,你使用CI系统来自动构建,然后你提交你的CI服务器(我们使用CruiseControl.NET,Hudson可以这样做好)。除此之外,您通常会在早上更新,以检查团队中是否有人进行了相关更改,并在适当情况下使用分支和标签。
这有点复杂,(但不是真的),一旦你开始安装好所有东西,生活应该是非常好的(不管你是否使用了它)。