Git合并了两种不同的历史

时间:2019-01-20 05:44:45

标签: git

我正在从sourceforge(用Visual Basic 6 http://www.argentumonline.org制作的mmorpg)中导入一个旧的CVS存储库,而我们在不导入历史记录的情况下继续工作。

所以现在我有了一个包含所有CVS历史记录的git存储库 https://github.com/RecoX/cvs2gitao

当前项目:https://github.com/ao-libre/ao-cliente

如何将CVS历史记录添加到当前存储库的底部?

我正在尝试执行此解决方案,因为只有一个master分支做到了这一点。

在我当前的存储库中

git remote add morgoao git@github.com:RecoX/cvs2gitao.git
git fetch morgoao
git rebase morgoao/master

并出现了很多“合并冲突”消息:

Resolve all conflicts manually, mark them as resolved with "git add/rm <conflicted_files>", then run "git rebase --continue".

You can instead skip this commit: run "git rebase --skip".

To abort and get back to the state before "git rebase", run "git rebase --abort".

我使用git rebase --skip但不能正常工作,该怎么办?

2 个答案:

答案 0 :(得分:1)

查看原始的CVS存储库,它仅包含一个master分支。看起来您已经像mergecvs一样将它吸收到了现代存储库中。我假设在新仓库中,mastermergecvs不共享任何提交。这样就可以做到

git checkout master
git rebase mergecvs

就是这样。我也可能将mergecvs变成标签,因为它无处可去,但是您可能想在历史记录中保留它的尖端。

由于更新后的master分支将被完全重写,因此您需要将其他分支重新建立到新历史记录中的相应位置上。从理论上讲,这也不会引起冲突。

答案 1 :(得分:0)

在我正在使用的当前存储库中,我进行以下工作:|

git remote add morgoao git@github.com:RecoX/cvs2gitao.git
git fetch morgoao
git rebase -X theirs morgoao/master

请注意,在重新定级theirs中,您认为与之相反,是您当前所处的当前分支。

它就像一种魅力:)

有关更多信息,我编写了一个教程: https://medium.com/@requitolucas/importar-repositorio-cvs-a-git-sourceforge-a-github-de-manera-facil-20c63344bfa5