如何合并不正确创建的“文件”;“分行”;那不是';不是真正的主干分支(不是由svn副本创建的)?
我在一个团队中工作,团队中有很多人对版本控制系统的概念非常不熟悉,他们只是在做一些似乎有效的事情,通过反复试验。有人从树干上创造了一个与树干没有祖先关系的“分支”。我猜是这样的:如何合并不正确创建的“文件”;“分行”;那不是';不是真正的主干分支(不是由svn副本创建的)?,svn,merge,branch,Svn,Merge,Branch,我在一个团队中工作,团队中有很多人对版本控制系统的概念非常不熟悉,他们只是在做一些似乎有效的事情,通过反复试验。有人从树干上创造了一个与树干没有祖先关系的“分支”。我猜是这样的: 他们在分支机构中创建了一个文件夹 他们检查了从主干到桌面某处的所有代码 他们将所有代码添加到新创建的文件夹中,就好像它是一堆全新的文件一样 因此,存储库并不知道所有这些代码实际上只是主干的一个副本。当我在TortoiseSVN中查看该分支的历史记录并取消选中“复制/重命名时停止”框时,没有在“从路径复制”列下包含主干(
合并
,当然它不起作用。因为,树干和假树枝没有祖先关系
我只能找到两种解决方法:
(你可能想知道:为什么你的公司雇佣了这些人,允许他们访问SVN存储库,而不首先确保他们知道如何正确使用它?!我们没有——这是一个学校作业,是两个不同班级之间的协作——低年级的人得到了一个非常快速的“概述”SVN的一部分,它并没有真正教给他们任何东西。我已经要求小组中的每个人请阅读,我会确保我们(团队中稍有经验的那一半)密切关注存储库,以确保不会再次发生这种情况。)您必须在merge命令中使用--忽略祖先。由此,如果添加新文件,SVN将忽略。它只是寻找文件名,奇怪的是,使用命令行客户机而不是我的GUI客户机就行了,即使没有这个开关。它合并了我想要的已更改的文件,然后是全新的文件,我手动复制。这意味着我可能丢失了这些文件的一些历史记录。