git重写历史从快进到快进

时间:2016-08-25 11:27:04

标签: git refactoring rebase

所以我一直在研究Android项目一段时间做后端&本地客户端开发。该项目从那时起取得了一些进展,我是唯一的项目提交者,所以我基本上快进合并了我添加或修复的所有内容。现在我的公司想要一个新的Android开发人员并将我拉到后端团队。我想重写我的android repo历史记录,并显示已添加/修复/发布的功能以及所有功能。所以我希望我的快进线性提交历史记录以非快速转发类型的形式重写。这可能吗?

1 个答案:

答案 0 :(得分:1)

查看git reflog的输出,或通过grep

git reflog --date=iso | grep -i Fast-forward

可以找到'合并'来自快进的承诺:

b69e480 HEAD@{422}: merge b69e480: Fast-forward
38e2ace HEAD@{438}: merge 38e2ace: Fast-forward

然后应该可以恢复这些分支,并将它们与--no-ff标志重新合并,首先将HEAD重新缠绕回适当的起始点。

a related blog,演示了如何恢复使用相同方法的错误合并,这可能是一个很好的例子。