从导入的分支在git中重新创建分支历史记录

时间:2014-12-30 08:36:51

标签: git

我正在将一个成熟的存储库从旧的版本控制系统(仍然无名)移动到git。由于旧系统似乎没有被其他任何人使用,因此没有官方进口商,但我在Github上发现了一个基本的,我已经改进了一点。不幸的是它只处理一个流,所以我的计划是:

  1. 将主干转换为git。
  2. 将过去几年的每个版本分支转换为git(因此我们有完整的历史记录来维护对已发布版本的支持)。
  3. 将这些释放分支中的每一个分割成转换后的主干,以便我们创建准确的历史记录。
  4. 我对git的了解非常基础,所以我不知道如何做第3步。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

为了得到一个连贯的历史,

This answer将stiching git repos放在了一起 但它会产生一个分支。

在您的情况下,您有几个分支的历史记录应该链接到一个仓库(因此,有几个分支)。

这听起来像是git filter-branch的工作,如“combining unrelated git repositories retaining history/branches”中所述 同一页面还会显示python script splice_repos.py,详见博客文章“Splicing git repositories together”。

  
      
  • 每个分支都包含两个存储库的提交序列,按照最初提交的顺序进行交错
  •   
  • 该过程是可重复的,并在再次运行时为提交生成相同的哈希值
  •   
  • 这个过程可以逐步完成(这样我们就可以开始为一些分支机构开发新的存储库,而旧的存储库中仍旧维护旧的分支机构)
  •   

换句话说,在这里,请不要stichsplice