将分支项目替换为SVN中项目的当前主干版本
我有\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中现在的旧版本,而不改变其中的任何内容将分支项目替换为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与主干版本
有谁能通过使用OrtoiseSVN来引导SVN像我一样一无所知(他也恰好是一个十足的CLI高手)?在Ortoise中,您可以右键单击并执行与“SVN删除”相当的操作,即删除您想要杀死的分支
然后,您需要将乌龟复制到并放入新路径。在乌龟中,您可以右键单击并执行相当于“svn删除”的操作,即删除您要杀死的分支 然后你需要做一个乌龟复制到新的路径上
通常,您应该定期将主干中所做的更改重新集成到分支中,以避免这种情况 你为什么不保留你以前的分支,改做一个新的呢?在结构中使用版本非常常见,如:
branches/task/version1.0
branches/task/version2.0
tags/task/version1.0
tags/task/version2.0
trunk
要对乌龟进行此操作,请通过以下方式移动树枝:
- 打开回购浏览器(上下文菜单,
->TortoiseSVN
)回购浏览器
- 创建分支/task/version1.0目录(
on task)Create folder
- 将分支/任务重命名为分支/任务/版本1.0(
on task)Rename
- (签出的中继目录上的上下文菜单)
->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
复制到)
正如工具警告您的那样,您仍然必须切换:
- (同一目录上的上下文菜单)
TortoiseSVN
->开关
- 指定新分支(分支/任务/版本2.0)的URL
那样你会得到更干净的东西
如果仍然选择删除分支,则通过指定要合并的修订范围(要用TortoiseSVN填充的字段之一),可以避免在重新合并时出现任何混乱。确保排除与删除相关的任何内容