结合来自git log的旧日志条目

时间:2015-11-29 01:01:30

标签: git git-rebase

我有一个包含以下日志的项目

commit10
commit09
commit08
commit07
commit06
commit05
...
commit01

我希望将01到08的转换提交只提交一次。我想要的结果是

commit10
commit09
commitXX

其中提交消息类似于“初始提交”或类似内容。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:1)

使用git rebase命令,或以git rebase -i交互式(这很好)。特别是,这将是一个“壁球” - 将一些提交与其他提交相结合。

此处,执行此操作的最佳方法可能是:git rebase -i HEAD~10查看最近的10个提交。然后,您可以使用交互式提示选择's'quash'p'ick哪些(即保留)。

在您的情况下,这可能如下所示:

p SHA10 commit10
p SHA09 commit09
s SHA08 commit08
s SHA10 commit07
...
s SHA01 commit01

然后它会提示您更改提交消息 - 如果您愿意。

如果要撤消您的rebase,请使用git reset --hard ORIG_HEAD --- rebase将以前的状态保存到ORIG_HEAD