【问题标题】:How to create a branch from a prior revision without affecting the latest revision using Tortoise SVN?如何使用 Tortoise SVN 在不影响最新修订版的情况下从先前修订版创建分支?
【发布时间】:2022-12-21 08:19:42
【问题描述】:

我有 Tortoise SVN,但从未创建一个分支来仅对先前的修订版进行一些更改。我认为我做得对,但没有按预期工作。我有一些提示我的屏幕以及与它们相关的问题。

我的目标是在我的 PC 上同时拥有两个工作副本,并且能够根据需要在它们之间切换。这是我执行的步骤:

  1. 从存储库浏览器中,我找到了我想要的修订版,然后右键单击。
  2. 单击单选按钮特定版本,然后我输入版本 249。
  3. 单击“To Path”旁边的省略号(打开新对话框,其中包含一个 URL,该 URL 填充了现有的 Trunk。
  4. 我将 URL 更改为一个新路径,我希望在该路径上进行修订。
  5. 我单击了 Revision 旁边的黑框(出现选择修订对话框)。
  6. 我从 HEAD 更改为 Revision 并输入 249(再次),然后单击 OK 关闭 Select Revision 框。然后它在存储库上创建了新分支。

    这是发生了什么:
    使用新 URL 创建分支后,系统会提示我签出新分支。不幸的是,它覆盖了我最新版本的 WC Trunk。我不确定为什么它没有提示我输入本地 WC 文件夹名称?

    幸运的是,我在我的 PC 上备份了最新的 WC,并且能够将修订重命名为 Trunk Version 62.5,然后将我的最新修订副本重命名为 Trunk。

    现在我担心如何提交我在 Trunk Version 62.5 或最新版本的 Trunk 上所做的更改。我担心它会覆盖存储库中的最新版本。我不确定我做错了什么。

【问题讨论】:

  • 您在顶级文件夹的回购浏览器中看到了什么?你应该在那里看到你的新分支,以及一个未动过的树干。你的 repo 是否遵循 /tags/branches/trunk 约定?
  • 回购浏览器显示为:“myproject.com/VS1Y/branches/version_61.5

标签: windows svn branch tortoisesvn


【解决方案1】:

该程序的前四个步骤看起来不错,但其余部分不清楚。我建议您阅读以下页面:

您需要先创建一个分支(我假设您已经这样做了)。接下来,您需要签出该分支的新工作副本。您可以将现有的工作副本切换到分支,但是您已经提到您想要拥有两个独立的工作副本:一个是您的分支,另一个是主干。这就是为什么我说你需要签出一个新的工作副本。

请注意,Subversion 中的修订历史是不可变的——提交到存储库的更改将永远保留在那里。因此,您的提交实际上不能删除存储库中的任何内容,也不能永久重写任何数据。如果你犯了任何错误,你可以恢复。

【讨论】:

  • 我想我犯了一个错误,没有先在我的 WC 中创建一个分支,然后将存储库中的分支签出到新的分支文件夹中。我假设(错误地)当我对它进行结帐时,该分支将从我的主干 WC 中的原始主干创建。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-22
  • 1970-01-01
相关资源
最近更新 更多