【发布时间】:2015-04-19 23:44:51
【问题描述】:
我有一个 Git 存储库 Old,我想将它移动到现有 Git 存储库 New 的子文件夹 sub 中。我在Old 中有两个分支master 和feature,我也想转移它们; Old\master 应该只是合并到 New\master 中,并且在 New 中应该有一个名为 old-feature 的新分支。
我并不太担心清白的历史;我目前的流程是在进行迁移之前在Old 中执行git mv,这对我来说很好。如果可能,我更愿意避免重写历史记录。
我当前的迁移步骤如下(在New repo 中):
git remote add -f old ...- 从
master创建新的old-feature分支。 - 从
old/feature创建本地feature分支。 - 合并分支
feature->old-feature. - 合并分支
old/master->master. - 推动两个分支。
虽然这可行,但我发现稍后如果我从 old-feature 合并到 master,Git 不理解历史记录(我的意思是我的混乱历史记录)并将每个文件视为合并冲突。如何进行适当的迁移以维护分支关系?
【问题讨论】:
-
您如何处理
old中的git mv?例如。您是否将所有文件和目录从Old移动到Old\sub? -
这两个 repos 是否有任何共同的提交开始?
-
@ShaunLuttin:是的,现在我将它们移动到
sub,而它们仍在Old,然后进行迁移。这两个存储库没有任何共同点。