删除部分git历史记录

时间:2020-11-09 12:32:29

标签: git

我有一个git仓库,去年有一个主要分支。 分支机构A的子分支机构负责dev / staging / prod及其工作。 分支B只有少量提交,可以将其存档(该产品现已停用)。

我想将其分成两个单独的存储库,如下所示:

  • 具有8年历史的B分支(用于归档)。
  • 具有所有子分支和部分历史记录的分支A(直到主要拆分之前,将拆分提交视为新的初始提交)。

推荐的方法是什么?

1 个答案:

答案 0 :(得分:0)

如果我理解您的问题,您想:

  • 具有仅包含branch B的目录。如果是这样,则可以使用以下命令仅克隆特定分支

    git clone your_repository --branch branch_B --single-branch 
    folder_to_put_new_local_repo_with_only_branch_B
    
  • ,然后有另一个包含branch A的存储库,其中包含直至修订版的所有其他分支(branch B除外)?

    如果您知道要从存储库中克隆多少个提交,可以使用以下命令

    git clone -–depth n your_repository 
    

    n是您要保留的提交次数。

    然后,您可以使用命令简单地从第二个存储库中删除branch B

    git branch -d branch_B