1

假设我有以下情况:

Trunk 是我的主要开发线,程序员在完成后会承诺。Branch V1.0 是我在发布 1.0 版本时创建的一个分支。

程序员正在主干上工作,但需要切换到分支才能修复错误。当切换回主干时,Subversion 会给我最新的 SVN 存储库,其中不包括最近的更改。因此,为了切换,他必须提交他所拥有的,否则更改将“丢失”。我知道它们仍然保存在本地存储库中,但这仍然意味着一旦他切换回它们,它们就会一一恢复。

我在这里错过了什么吗?

编辑:

现在我正在考虑以下几点:

每个程序员都会有自己的“私人”开发分支。他可以随时承诺到那里。当他完成他所写的内容时,他可以将它们合并到树干中。他重新开始下一个任务。如果在任何时候他需要修复某个其他版本中的错误,他可以提交到他自己的私有分支,获取 odl 版本并修复它。然后,在提交对修复的更改后,他可以轻松切换回自己的开发分支。

那行得通吗?

4

3 回答 3

2

我认为颠覆不会像你描述的那样切换。一种解决方案是拥有两个工作区,一个用于分支,另一个用于主干,这样您就可以毫无问题地从一个工作区切换到另一个工作区。我知道这不是一个好的。

于 2012-06-21T07:25:16.730 回答
0

考虑切换到更适合您的方法的版本控制工具。我自己的建议是Mercurial,再加上MercurialEclipse。我知道的唯一缺点是 Subversion 更适合存储二进制文件,而且 Mercurial 的子存储库不像 Subversion 的外部存储那样好用。

在 Mercurial 中,您的程序员将能够将他们的更改提交到他们的私有存储库,再次在本地合并和提交,然后将生成的更改推送到官方存储库,其他程序员将从那里将它们拉入他们自己的私有存储库。

于 2012-06-21T07:42:15.947 回答
0

用于此类目的的最佳解决方案是拥有两个独立的工作副本。一种用于主干,另一种用于分支。

于 2012-06-21T08:06:15.700 回答