我有一个git项目,其文件结构如下:
Project_A/files...
Run Code Online (Sandbox Code Playgroud)
我有另一个git项目,其文件结构如下:
Project_B/
Project_A/files...
files...
Run Code Online (Sandbox Code Playgroud)
现在我想将项目A合并到项目B中,并继续使用项目B作为唯一的存储库.
我尝试使用子树合并,但是我收到一条错误,说"条目'XXX'重叠'XXX'"
有没有办法将项目A合并到项目B并保留所有提交历史记录?
提前致谢!
ebn*_*ter 12
你可以这样做:
在Project_A中,创建一个新的Project_A子目录并将所有内容放入其中,因此Project_A现在看起来像
Project_A/
Project_A/files...
Run Code Online (Sandbox Code Playgroud)
然后,在Project_B中:
git remote add project_A Project_A
git fetch project_A
git branch project_A project_A/master
git checkout -b merge_trial master
git merge project_A
Run Code Online (Sandbox Code Playgroud)
...并根据需要修复merge_trial(或泡沫,冲洗,重复,直到你得到你想要的冲突/重叠).
作为svn-> git迁移的一部分,我实际上做了类似的事情.
如果projectB
已经包含projectA
为子模块,您应该:
projectA
作为子模块删除projectB
如果projectA
不是 的子模块projectB
,我建议提取projectA
到projectB
存储库中,然后使用移植技术将两个提交行链接在一起,而不处理经典合并可能涉及的所有合并冲突。
归档时间: |
|
查看次数: |
4230 次 |
最近记录: |