一点背景,因为这可能有点令人困惑:我正在开发的项目是大多数代码相同的项目,但有些文件会根据我们部署的平台而改变。为此,根文件夹包含所有不会更改的“核心”文件,然后每个平台都有一个目录,其中包含更改的文件。所以有一个baz/foo.c
和一个bar/foo.c
,因为foo.c
会根据它是部署到baz
还是bar
而发生变化。 Makefile等使这一切变得神奇。
问题是,我正在开发一个基于qux
的新平台(我们会说bar
),所以我一直在分支机构工作,并在bar
目录。现在我想将该目录重命名为qux
,但在合并时保留原始bar
,因为该平台仍然存在。因此,我的最终目标是,在合并后的主干中,在我干预之前有baz
和bar
,以及我的更改的新文件夹qux
(目前在分支在bar
文件夹下,并基于原始bar
)。
有一种简单的方法吗?如果我在我的分支中将bar
重命名为qux
,那么当我将其合并回主干时,它似乎会尝试删除bar
,这不是我想要发生的事情。我是否需要在我的分支中创建新文件夹qux
,从bar
将文件复制到其中,然后将bar
恢复到原始状态?或者有更好的方法吗?
修改:要清楚,如果我将文件复制到新文件夹中,bar
文件夹中已有更改需要还原。
答案 0 :(得分:1)
由于bar
不会在主干中消失,因此请勿重命名。保持原样,并创建一个新的qux
文件夹,然后将bar
文件夹的内容复制到其中。复制不会删除bar
中的任何内容。根据新平台适当修改qux
。然后,当您将功能分支合并回主干时,您将拥有原始的,未更改的bar
和新的qux
。
如果使用Subversion创建副本(而不是普通文件系统副本),您甚至可以获得qux
文件的先前历史记录,但您可能不需要。{/ p>
答案 1 :(得分:0)
可能会遗漏一些东西,但听起来应该是这样: