我想知道一些关于 SVN 谷歌无法告诉我的事情。
我们在工作中使用 SVN 和推荐的主干/分支/标签结构。
我想知道的是,是否有必要将主干文件夹切换到分支/我的分支文件夹,或者我可以在分支/我的分支文件夹中工作并提交这些更改?我在这里说的是物理文件夹以及进行更改的正确位置。
直到现在我们才真正需要创建一个分支,并且想要把它做好:)
谢谢!
我想知道一些关于 SVN 谷歌无法告诉我的事情。
我们在工作中使用 SVN 和推荐的主干/分支/标签结构。
我想知道的是,是否有必要将主干文件夹切换到分支/我的分支文件夹,或者我可以在分支/我的分支文件夹中工作并提交这些更改?我在这里说的是物理文件夹以及进行更改的正确位置。
直到现在我们才真正需要创建一个分支,并且想要把它做好:)
谢谢!
从主干创建一个分支。在您的分支中工作,根据需要进行尽可能多的提交。完成后,将所有新提交从主干合并到您的分支,解决任何冲突。一旦所有冲突(如果有)都得到解决并且您已经测试了您的代码,您就可以将您的分支合并到主干。
在这里切换不是一个好主意。基本上,该命令用于重定位项目。
如果你有一个分支,那么那个分支就有它自己的生命。你的主干可能在提交的功能方面领先,或者,它可能会反过来——某个分支会在某个时候领先于你的主干。如果你在你提到的上下文中使用 switch 命令,你最终会一团糟,最终必须得到一个干净的结帐。
如果您正在使用不同的分支,您需要理解并接受每个分支都可以被视为一个单独的主干(基于另一个主干)。因此,对您正在处理的不同分支进行单独的干净结帐
我认为最好的第一步是将 Subversion 的命名法和概念与您自己的相匹配,否则我认为您会陷入困境。例如“将主干切换到分支”没有意义。我怀疑你的意思实际上是:“切换我当前包含主干代码的工作副本,以便它包含分支代码”。
存储库存储主干和已创建的任何分支的当前状态。通常,当您想返回以修复早期版本中的错误(例如,对于 1.0.1 版本)时,您会创建一个分支,而您在 2.0 版本的主干上进行了更实质性的更改,这太冒险而无法放入1.0.1。
当您处理项目时,您可以从主干或分支中检出工作副本。您所做的任何提交都将在主干或您已签出的分支上结束。如果您需要在 1.0.1 分支上工作,您有两种选择:
您采用这两种方法中的哪一种将取决于许多因素:
c:\source
那么这意味着您只能拥有一个工作副本并且您必须使用切换。为简单起见,我建议为分支创建一个新的工作副本。