0

我创建了一个大型 OS 项目的本地副本。我只是涉足,所以我没有打扰分支。无论如何,我最终对源代码进行了一些更改并为其创建了一个扩展。现在我没有在我的本地提交任何东西(所以它在 Head 有修改)。我意识到我想将我的更改移动到一个分支,然后将 HEAD 重置为原始版本或来自其服务器的项目的当前状态。

如何将位于未提交阶段的 Head 的所有更改移动到分支以进行进一步修改?然后我想将 Head 重置为 premodif 状态或服务器的当前状态。一旦全部移动到位,我将针对项目中的当前 Head 创建一个适当的补丁。

谢谢

4

2 回答 2

1

据我所知,svn 不是分布式系统,所以没有本地 HEAD 和远程 HEAD 的概念。相反,有一个规范的 HEAD,在 svn 用语中称为树干。

至于您的问题,您通过带有两个远程 URL的复制命令创建了一个 svn 分支。然后事情会如你所愿地进行。

  1. 复制我的工作复制我的工作复制备份
  2. 从远程签出新版本
  3. 使 myWorkingCopy 成为新分支的实例
  4. 将 myWorkingCopyBackup 复制到 myWorkingCopy,替换除 .svn 目录之外的所有内容
  5. 报到

您现在应该是黄金,您的更改已检查到您的新分支和原始树干

于 2013-02-17T16:56:35.397 回答
0
  1. 选择“创建分支”
    • 作为分支源使用“HEAD”,“非工作副本”
    • 启用“切换到分支”复选框(在对话框底部)
  2. 创建分支

现在您有了从主干创建的分支的工作副本,并且您的更改已准备好提交到该分支。没有修改后备箱。

于 2013-02-18T07:03:27.593 回答