我已经使用了svn一段时间但最近有几个团队被添加到项目中。其中一个团队成立了一个新的分支,并要求我检查他们的一些变化。我转到目录,右键单击,svn->切换并选择新分支。我进去试图回应我正在寻找的页面,看看我是否在新的分支机构工作而我不是。这有点超出了我的工作,但随着项目变得如此之大,我需要学习这一点。
基于此,我的问题......我还有其他更多的事情吗?将工作副本切换到这个新分支后,我该如何处理呢?
答案 0 :(得分:26)
结账和转换之间的区别可能会增加混乱。我认为在你的情况下,将分支机构检查到另一个文件夹会更简单,因为你只是在进行审查,而且这可能是最直接的方式,无论如何。
请参阅本节from the Tortoise docs:
结帐或切换......
......那是(不是真的)问题。结账时下载 从存储库中的所需分支到您的工作的所有内容 目录,TortoiseSVN→Switch ...仅将更改的数据传输到 你的工作副本。有利于网络负载,有利于您的耐心。 : - )
能够使用您新生成的分支或标记 几种处理方式。你可以:
TortoiseSVN→结帐以在空文件夹中进行新结账。 您可以在本地磁盘上查看任何位置 根据需要从存储库中创建任意数量的工作副本。
将当前工作副本切换到新创建的副本中 库。再次选择项目的顶级文件夹并使用 TortoiseSVN→从上下文菜单中切换....
在下一个对话框中输入您刚刚创建的分支的URL。 选择Head Revision单选按钮,然后单击OK。你的工作 copy被切换到新的分支/标签。
Switch就像Update一样,它永远不会丢弃你的本地 变化。您对工作副本所做的任何更改都没有 当你执行Switch时,将被合并。如果你这样做 不希望这种情况发生,那么你必须先提交更改 切换,或将您的工作副本还原为已经提交的 修订版(通常是HEAD)。
如果你想在trunk和branch上工作,但又不想牺牲 一个新的结帐,您可以使用Windows资源管理器制作您的副本 在另一个文件夹中的trunk checkout,然后是TortoiseSVN→Switch ...那个 复制到你的新分支。
答案 1 :(得分:3)
在常规“属性”对话框中(右键单击Windows资源管理器),您将看到一个“Subversion”选项卡,该选项卡将告诉您文件或目录指向的URL。用它来验证您是否实际切换到了正确的分支。
任何非承诺的本地更改仍然在您的工作副本中也是值得的。
答案 2 :(得分:2)
svn switch
可能存在误解:
起初我认为切换命令的存在意味着有一个"当前"或者选择"" SVN正常运行的工作副本。就像我目前在干线工作一样,然后我在分支B上工作,因此"切换"从工作副本到另一个。事实是:没有当前工作副本这样的东西!只有许多本地工作副本:一个用于主干,一个用于分支另一个用于标签,等等。但是没有人能够"隐式选择"。
正如Paul Sasik所说:switch
允许,例如,只有一个工作副本,即trunk,然后将该本地工作副本与远程存储库中的目标分支或标记合并。 switch
仅同步本地和远程之间的差异,因此避免对解决方案进行全面检查。过去执行命令,工作副本上的每个进一步提交都将发生在已被切换到的远程存储库文件夹中,该文件夹已被定位。无论初始检出是针对该本地文件夹的。