如何压缩来自将另一个回购集成到分支中的旧提交



我正在将两个存储库合并为一个存储库。

我将repo2集成到repo1的一个分支中,保留

repo2问题是,现在我决定不想保留repo2的历史记录,因为提交的数量非常高。因此,我尝试执行一个交互式重新基准。这里的问题是repo2的历史记录包含日期可以追溯到一年前的提交。

在新分支中添加的提交如下所示:

680a4b3  Integration          2 days ago
...
985d7ac  Integration          6 days ago    
23d3762  Latest repo2 commit  2020‑04‑20
...
23df1e4  First repo2 commit   2019‑05‑01

当我尝试执行交互式重新基准时,返回到第一个repo2提交:

git rebase 23df1e4 ---interactive

提交列表包括来自repo1repo2的提交。手动挑选它们会花费太多时间。

是否有任何方法可以自动压缩(或进行修复,丢弃消息(所有repo2提交,但保留"集成"提交?

也许可以执行只包括当前分支提交的rebase,但我还没有找到如何做到这一点。

事先非常感谢。

这里有一种压缩历史开始的方法:

  1. 从"Latest repo2 commit"的父级开始运行rebase -i

    git rebase -i 23d3762^
    
  2. 在操作中,将提交23d3762 Latest repo2 commit的操作设置为edit,保存并关闭
    git将倒带到23d3762,并等待您执行操作

  3. 壁球repo2的历史:

    # use 'reset --soft' to go back to First commit,
    # while keeping the complete delta in the staging area :
    git reset --soft 23df1e4   # <- use id of "First commit" here
    git commit
    
  4. 告诉git完成交互式重基准

    git rebase --continue
    

相关内容

  • 没有找到相关文章

最新更新