我正在将两个存储库合并为一个存储库。
我将repo2集成到repo1的一个分支中,保留 repo2问题是,现在我决定不想保留repo2的历史记录,因为提交的数量非常高。因此,我尝试执行一个交互式重新基准。这里的问题是repo2的历史记录包含日期可以追溯到一年前的提交。 在新分支中添加的提交如下所示: 当我尝试执行交互式重新基准时,返回到第一个repo2提交: 提交列表包括来自repo1和repo2的提交。手动挑选它们会花费太多时间。 是否有任何方法可以自动压缩(或进行修复,丢弃消息(所有repo2提交,但保留"集成"提交? 也许可以执行只包括当前分支提交的rebase,但我还没有找到如何做到这一点。 事先非常感谢。680a4b3 Integration 2 days ago
...
985d7ac Integration 6 days ago
23d3762 Latest repo2 commit 2020‑04‑20
...
23df1e4 First repo2 commit 2019‑05‑01
git rebase 23df1e4 ---interactive
这里有一种压缩历史开始的方法:
-
从"Latest repo2 commit"的父级开始运行
rebase -i
:git rebase -i 23d3762^
-
在操作中,将提交
23d3762 Latest repo2 commit
的操作设置为edit
,保存并关闭
git将倒带到23d3762
,并等待您执行操作 -
壁球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
-
告诉git完成交互式重基准
git rebase --continue