我在这里寻找一些关于如何管理多个版本的项目的提示和技巧。
目前,我有一个应用程序的开发版本,其中包括一些改进和新的功能。在此期间,我必须解决一些错误。在没有被新函数not触及的文件上修复bug是很容易的,但是只要我触摸到有新函数的页面。我每次都需要注释几行代码。我觉得这不是最好的玩法。必须有一个足够好的方法来解决这个问题。
问题的另一边是部署。这是相当多的时候,我必须等待几个星期才能在网站上上传一个新的功能。同时,我有时会忘记已经修改(或注释为bug)的每个文件,这可能会产生错误。我听说卡普斯特拉诺适合红宝石球迷,这对我有帮助吗?我主要是一名PHP/asp.net开发人员。
发布于 2009-04-20 06:31:23
您正在经历“不兼容的开发工作”的经典案例:
您不能同时修复bug和在同一文件上进行开发。
这是一个经典的分支案例,它允许相同的文件:
如果你对版本控制系统的直接设置不满意,你至少可以将代表你的服务器的文件树复制到两个目录中(一个1.0和一个'DEV'),有效地进行一些“手动”修订控制。
然后,像WinMerge这样的工具将帮助您跟踪差异并进行一些合并
但是一个真正的VCS会更有效率,并且可以用作部署的稳定来源,正如这个Best version-control for a one-man web-app问题(使用subversion)所说明的那样。
该版本控制源也可以由capistrano之类的部署系统使用。
发布于 2009-04-20 06:12:50
大多数版本控制系统都能够“分支”您的软件,因此您可以同时运行同一代码库的多个版本。
例如,您的"1.0“分支可能是当前的生产版本。对于新的开发,您可能会创建一个"1.1“分支,它从1.0的副本开始。你的所有新特性都应该在1.1中发布,所有的产品bug修复都应该在1.0中发布(最终也会在1.1中发布)。通常有一些工具可用于合并分支之间的更改(例如,从1.0到1.1的合并错误修复)。
下面是subversion分支的一个很好的描述。
http://svnbook.red-bean.com/en/1.1/ch04.html
检查您当前的版本控制系统是如何处理分支的。
发布于 2009-04-20 06:08:17
一种方法是在您的源代码控制软件中创建一个分支。
https://stackoverflow.com/questions/767076
复制相似问题