按照本教程,我将多个存储库合并到一个存储库中:https://leewc.com/articles/how-to-merge-multiple-git-repositories-into-one-repo/。但似乎这不是一个好方法,因为现在当我尝试将一个功能合并到我的分支测试中时,我有100个冲突。
在将所有存储库合并到我的新存储库之后,我在新存储库中创建了此功能。古代存储库是formation-front
,formation-back
和formation-services
,我现在有一个存储库formation
,其中包含文件夹formation-front
,formation-back
和formation-services
。古代存储库没有共享文件名或路径。
例如,我有一个存储库formation-front
,包含3个分支:dev
,test
和master
。所以我在新的存储库中创建了一个分支project_A_dev
,并在此分支中合并了dev
的分支formation-front
。我为我的3个存储库中的3个分支dev
,test
和master
执行了此操作。
Git如何识别文件?这些文件有ID吗?错误和冲突是因为某些文件由于我正在合并的旧回购而具有古老的id,并且某些文件有新ID?在合并存储库之前,我没有遇到所有这些冲突。
答案 0 :(得分:1)
当您按照描述进行合并并为不同的项目设置不同的分支时,从一个分支到另一个分支的合并并非易事,因为它们具有完全不相关的历史记录。您必须提供有关存储库中当前存在的分支的详细信息,它们的不同之处,尤其是您尝试合并的分支。
您的链接中描述的方法对于分支来说有点奇怪。分支机构不是为了保存完全不同的项目,而是为了保持单个项目的不同状态。
您的项目是如此连接,以至于将它们并排放入单个存储库(但不是在不同的分支上),或者它们应该存在于单独的存储库中。在第一种情况下,您可以按照链接文章指向的链接(this one)进行操作。这应该会产生一个包含所有项目的主分支,而不会出现您当前遇到的合并问题。
免责声明:当然,由您决定如何使用git及其功能。没有一种使用git的唯一方法。但是以所描述的方式使用分支是非常不寻常的,并且似乎不是一个好的工作流程。