【发布时间】:2017-10-24 21:20:43
【问题描述】:
我有几个 (~20) 个 Git 存储库,它们的文件不重叠。我想将他们的主分支合并到一个(新)存储库中。
经过一番阅读,我想出了以下过程。
- 创建目标存储库 (git init) 并更改为它
git remote add <name> <url>git fetch <name>git merge <name>/master --allow-unrelated-histories -m "Imported"git remote rm <name>- 重复 2-5 直到合并所有存储库
第一个存储库合并得很好,历史记录完好无损,但后来我遇到了合并冲突。
例如对于不同目录中具有相同名称的不同文件(并且我这边没有重命名):
CONFLICT (rename/rename): Rename "Splittermond_CharGen_JFX/.project"->"BootloaderPlugin/.project" in branch "HEAD" rename "Splittermond_CharGen_JFX/.project"->"Splittermond_Zhoujiang/.project" in "splimo-common/master"
例如来自我在项目历史中移动的文件(树中留下的版本是最近的位置):
CONFLICT (rename/delete): Splittermond_BuU/src/org/prelle/rpgframework/splittermond/buu/BestienUndUngeheuerPlugin.java deleted in HEAD and renamed to Splittermond_BuU/src/main/java/org/prelle/rpgframework/splittermond/buu/BestienUndUngeheuerPlugin.java in splimo-common/master. Version splimo-common/master of Splittermond_BuU/src/main/java/org/prelle/rpgframework/splittermond/buu/BestienUndUngeheuerPlugin.java left in tree.
我认为 Gits 跟踪文件的能力可能是问题所在,但我对此很陌生,不知道如何解决这个问题。
感谢任何帮助或提示。
[更新] 看起来我至少有两个存储库 - 虽然不再重叠 - 曾经重叠。我有一个 git repo A,它抱怨它删除了现在在 repo B 中的文件。我有一个 repo B,它曾经包含现在在 repo A 中的文件。 有没有办法合并两者,保留所有未删除文件的历史记录?
【问题讨论】:
标签: git merge merge-conflict-resolution