假设我有以下服装:
Trunk是我的主要开发线,程序员在完成后承诺。 分支V1.0是我在发布1.0版时创建的分支。
程序员正在处理主干,但需要切换到分支以修复错误。 当切换回主干时,Subversion会给我最新的SVN存储库,其中不包含最近的更改。 因此,为了切换,他将不得不承诺他所拥有的东西,否则这些变化就会失去"。我知道它们仍然保存在本地存储库中,但它仍然意味着一旦它转回就一个接一个地恢复它们。
我在这里错过了什么吗?
编辑:
现在我正在思考这些问题:
每个程序员都有他自己的"私人"发展分支从关闭。只要他愿意,他就可以去那里。当他完成了他所写的内容时,他们可以将它合并到后备箱中。他再次开始接受下一个任务。 如果在任何时候他需要修复其他版本中的错误,他可以只提交给自己的私有分支,获取odl版本并修复它。然后,在将更改提交到修复程序后,他可以轻松切换回自己的开发分支。
那会有用吗?
答案 0 :(得分:2)
我认为颠覆不像你所描述的那样被认为是切换。一个解决方案是拥有两个工作区,一个用于分支,另一个用于主干,因此您可以毫无问题地从一个工作区切换到另一个工作区。我知道这不是一个好的。
答案 1 :(得分:0)
考虑切换到更适合您的方法的版本控制工具。我自己的建议是Mercurial,加上MercurialEclipse。我所知道的唯一缺点是Subversion更适合存储二进制文件,并且Mercurial的子存储库不能像Subversion的外部工作那样好。
在Mercurial中,您的程序员可以将他们的更改提交到他们的私有存储库,再次在本地合并和提交,然后将生成的更改推送到官方存储库,其他程序员可以将其转移到他们自己的私有存储库中。
答案 2 :(得分:0)
出于此类目的的最佳解决方案是拥有两个单独的工作副本。一个用于使用主干,一个用于分支。