在TortoiseSVN documentation about merging中,指导"合并两棵不同的树"声明如下(强调我的):
在From Revision字段和 To Revision 字段中,输入同步两棵树的最新修订号。
这是对的吗?这对我来说毫无意义。举一个这个说明性的例子,我们希望合并" branch"在修订版105回到" trunk":
如果在分支之后没有任何东西被提交到主干(即,如果修订版101不存在),我们将从主干HEAD(将是修订版100)合并到分支HEAD(修订版105)。说得通。
但101确实存在。文档说我们必须从两个树同步的最后修订号(即修订版100,这完全有意义)的主干合并到...分支...两个树同步的最后修订号...这是什么?
我在这里缺少什么?文件是对的吗?误导?错?
答案 0 :(得分:0)
我不明白你为什么要合并不同的树选项。根据图片,您应该使用自动重新整合合并。请参阅TortoiseSVN Manual | Merging a Range of Revisions。
在HEAD中使用主干的工作副本,然后选择合并一系列修订选项,然后单击下一步 - 下一步 - 合并。从分支到主干的合并应自动完成。
答案 1 :(得分:0)
我不建议使用svn进行git-style分支,在我看来你正试图这样做,如果你有充分的理由就使用分支(比如有一个生产和开发分支或一些需要很长时间的功能)发展的时间,并阻止他人做他们的工作)。
仅仅因为svn copy-paste整个文件夹,而不仅仅是像git那样保留更改。例如。
我已经烧掉了4个ssd驱动器,每天在我的项目上合并......
您不必依赖Tortoise SVN及其文档,Tortoise SVN只是svn的GUI。
所以基本上在SVN中,分支/标签之间没有区别,它总是表现出相同的方式,所以恕我直言,Tortoise SVN文档会产生误导,如果你将分支合并到主干中,则没有区别,或者反之亦然。
它还取决于您拥有的SVN的基础版本,最好是拥有依赖于svn 1.7或更高版本的版本。
因此,如果您想“重新集成分支”,只需从命令行导航到您的主干,或者调用任何目录并输入
svn merge ^/branch/branch_name
之后删除分支...
Tortoise SVN还允许你在控制台中使用svn,只需重新启动它的安装,并启用svn命令行功能。