将分支项目替换为SVN中项目的当前主干版本

将分支项目替换为SVN中项目的当前主干版本,svn,tortoisesvn,Svn,Tortoisesvn,我有\trunk\root\包含文件夹ProjectA、ProjectB等。 我创建了根的分支->\branchs\task\root\ 现在,我对任务中的项目(包括ProjectB)进行了相当大的更改 但是\trunk\root\ProjectB也移动到了一个点,使得task\root\ProjectB中的所有更改都是多余的 我想用\trunk\root\ProjectB的内容完全替换\branchs\task\root\ProjectB的内容。不合并,只需使任务版本ProjectB与主干版本

我有\trunk\root\包含文件夹ProjectA、ProjectB等。 我创建了根的分支->\branchs\task\root\

现在,我对任务中的项目(包括ProjectB)进行了相当大的更改

但是\trunk\root\ProjectB也移动到了一个点,使得task\root\ProjectB中的所有更改都是多余的

我想用\trunk\root\ProjectB的内容完全替换\branchs\task\root\ProjectB的内容。不合并,只需使任务版本ProjectB与主干版本相同即可。注意,当涉及到将任务合并回主干时,我不希望在ProjectB中发生任何奇怪的事情,SVN应该只看到它是ProjectB中现在的旧版本,而不改变其中的任何内容


有谁能通过使用OrtoiseSVN来引导SVN像我一样一无所知(他也恰好是一个十足的CLI高手)?

在Ortoise中,您可以右键单击并执行与“SVN删除”相当的操作,即删除您想要杀死的分支


然后,您需要将乌龟复制到并放入新路径。

在乌龟中,您可以右键单击并执行相当于“svn删除”的操作,即删除您要杀死的分支

然后你需要做一个乌龟复制到新的路径上

  • 删除分支上的当前项目B,在svn回购上执行此操作
  • 再次将主干ProjectB复制到该分支位置(ProjectB以前所在的位置)
  • 恢复,或者更好的是,重新检查ProjectB
  • 如果你愿意失去历史的话

    另一种保存历史记录的方法——但这将使用EclipseIDE

  • 从主干签出项目B
  • 从分支签出ProjectB(到Eclipse中的其他项目)
  • 比较ProjectB的两个版本,并将主干项目B的所有更改引入分支项目B
  • 签入分支项目B
  • 删除分支上的当前项目B,在svn回购上执行此操作
  • 再次将主干ProjectB复制到该分支位置(ProjectB以前所在的位置)
  • 恢复,或者更好的是,重新检查ProjectB
  • 如果你愿意失去历史的话

    另一种保存历史记录的方法——但这将使用EclipseIDE

  • 从主干签出项目B
  • 从分支签出ProjectB(到Eclipse中的其他项目)
  • 比较ProjectB的两个版本,并将主干项目B的所有更改引入分支项目B
  • 签入分支项目B

  • 通常,您应该定期将主干中所做的更改重新集成到分支中,以避免这种情况

    你为什么不保留你以前的分支,改做一个新的呢?在结构中使用版本非常常见,如:

    branches/task/version1.0
    branches/task/version2.0
    tags/task/version1.0
    tags/task/version2.0
    trunk
    
    要对乌龟进行此操作,请通过以下方式移动树枝:

    • 打开回购浏览器(上下文菜单,
      TortoiseSVN
      ->
      回购浏览器
    • 创建分支/task/version1.0目录(
      Create folder
      on task)
    • 将分支/任务重命名为分支/任务/版本1.0(
      Rename
      on task)
    然后,您可以正常进行:

    • (签出的中继目录上的上下文菜单)
      TortoiseSVN
      ->
      Branch/Tag
    • 指定新分支(分支/任务/版本2.0)的URL
    • 指定是从工作副本还是从其他地方创建新分支(我强烈建议先提交,然后从HEAD进行分支)
    (或者,您可以使用回购浏览器,从中继线执行
    复制到

    正如工具警告您的那样,您仍然必须切换:

    • (同一目录上的上下文菜单)
      TortoiseSVN
      ->
      开关
    • 指定新分支(分支/任务/版本2.0)的URL
    那样你会得到更干净的东西


    如果仍然选择删除分支,则通过指定要合并的修订范围(要用TortoiseSVN填充的字段之一),可以避免在重新合并时出现任何混乱。确保排除与已删除分支相关的任何内容。但老实说,我会避免这种情况。

    通常,您应该定期将主干中所做的更改重新集成到分支中,以避免这种情况

    你为什么不保留你以前的分支,改做一个新的呢?在结构中使用版本非常常见,如:

    branches/task/version1.0
    branches/task/version2.0
    tags/task/version1.0
    tags/task/version2.0
    trunk
    
    要对乌龟进行此操作,请通过以下方式移动树枝:

    • 打开回购浏览器(上下文菜单,
      TortoiseSVN
      ->
      回购浏览器
    • 创建分支/task/version1.0目录(
      Create folder
      on task)
    • 将分支/任务重命名为分支/任务/版本1.0(
      Rename
      on task)
    然后,您可以正常进行:

    • (签出的中继目录上的上下文菜单)
      TortoiseSVN
      ->
      Branch/Tag
    • 指定新分支(分支/任务/版本2.0)的URL
  • 指定是从工作副本还是从其他地方创建新分支(我强烈建议先提交,然后从HEAD进行分支)
  • (或者,您可以使用回购浏览器,从中继线执行
    复制到

    正如工具警告您的那样,您仍然必须切换:

    • (同一目录上的上下文菜单)
      TortoiseSVN
      ->
      开关
    • 指定新分支(分支/任务/版本2.0)的URL
    那样你会得到更干净的东西

    如果仍然选择删除分支,则通过指定要合并的修订范围(要用TortoiseSVN填充的字段之一),可以避免在重新合并时出现任何混乱。确保排除与删除相关的任何内容