我有一个软件应用程序,我已经达到了一个重要的里程碑,版本2.0。
我决定把这个版本标记为“Version2.0”,所以我给这个快照命名了。我还创建了一个“Version2.0”分支,以防我需要修复任何东西并将其合并回我的主干中。
在阅读了Tortoise帮助文件之后,它告诉我可以将我的“工作副本”切换到一个新创建的分支。
这是什么意思?
目前,我有:
/项目/干线/
/Project/Tags/
/项目/分支/
都退房了。那么,“切换”有什么意义呢?目前,我只是去我的/trunk文件夹并做我的工作。当我创建标记和分支时,它在我进行更新后在我的/ tag /和/分枝/文件夹中创建了文件夹。
如果我想的话,为什么我不去/分支/体验-v3.0/在那里工作呢?
有人能向我解释一下“工作拷贝”和“切换”的概念吗?我遗漏了什么?人们通常没有检查出整个存储库,是吗?
发布于 2009-02-24 10:30:23
工作副本是您已签出到工作区的副本。不管是树枝还是树干。这就是你在做的事情。
您可以使用svn开关在同一父服务器的分支(或更正确的副本)之间切换。这基本上会说,当前的工作副本和我切换到的分支之间有什么不同。然后,它将对当前工作副本执行更新,以修改您切换到的分支。
因此,工作副本是您的结账,但它是获得。
切换只是改变您的工作副本提交到的分支。想一想,就像更改存储库中的指针一样,提交将在其中进行。在获得从分公司到您的工作区域的任何差异的帮助下。
发布于 2009-02-24 10:35:46
通常没有必要检查整个存储库。subversion中的分支和标记都是廉价的--也就是说,它们不创建相同文件的副本,而只是引用它们。当您检查了整个存储库时,当任何人出于任何原因分支或标记时,都会突然将本地硬盘上使用的空间增加一倍。
您可以根据需要签出存储库的任意多个部分。因此,您可以有一个名为‘主干’的文件夹,它只是主干的一个工作副本,而另一个'version2‘则是您的分支的工作副本。这样,创建的任何附加标记都不会被签出。
或者您可以有一个名为“project”的签出,如果它最初指向主干,您可以将它切换到其中一个分支或标记--这是一种重复使用原始签出的方法,这样您就不必再得到所有的东西了。
这样做是非常有用的--您正在进行主干工作,突然意识到您需要将您的更改提交到一个分支--也许是因为它们太过实验性。为此,从工作副本中的分支,切换到新的分支,然后提交,您的更改将转到分支,而不是主干。
发布于 2009-02-24 10:28:04
工作副本是您已签出的代码的副本。通常,您只签出/Project/主干/,而不是存储库的整个结构。切换正在更改工作副本的根。您使用SVN的方式不是应该如何完成它。
https://stackoverflow.com/questions/581220
复制相似问题