仓库A: 从项目的SVN迁移到git,版本号为r
:包括所有的SVN历史记录、标签等,之后进行了一些git开发。
仓库B: 同一项目,但是独立地从SVN迁移,版本号为r+small_number
。只有最新的快照被带入git。之后进行了大量独立的开发。
现在我将A合并到了B中。想法是抛弃SVN,在GitHub上的项目存储库的develop
分支中继续开发。我使用简单的合并完成了这项工作;幸运的是几乎没有真正的冲突。尽管开发主要在不同的领域,但合并后还需要进行很多清理工作,与git无关。
但是: 现在当我执行例如git rebase -i HEAD~2
在合并的结果上,我理解这应该让我rebase最后两个提交,我被迎接了一个页面,其中包含了300多个提交--自SVN第一版以来项目的完整历史记录。我因担心弄得更糟而中止了rebase(显然我是一个完全的Git新手)。
这个结果是否是预期的?是否可取?如果不是,如何解决?
请注意,所有的单元测试等都通过了,文件本身也没有问题,只是我不明白git元数据/历史记录发生了什么。
编辑:这是我*认为*现在存储库的样子:
r A
... o --- o --- ... o
\
B \
o --- .... o ---- o --- ... o
r+small_number C HEAD