The scripted version of the interactive rebase already does that. Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> --- sequencer.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sequencer.c b/sequencer.c index 4ddb12e..683b89f 100644 --- a/sequencer.c +++ b/sequencer.c @@ -1813,8 +1813,13 @@ static int commit_staged_changes(struct replay_opts *opts) if (has_unstaged_changes(1)) return error(_("Cannot rebase: You have unstaged changes.")); - if (!has_uncommitted_changes(0)) + if (!has_uncommitted_changes(0)) { + const char *cherry_pick_head = git_path("CHERRY_PICK_HEAD"); + + if (file_exists(cherry_pick_head) && unlink(cherry_pick_head)) + return error("Could not remove CHERRY_PICK_HEAD"); return 0; + } if (file_exists(rebase_path_amend())) { struct strbuf rev = STRBUF_INIT; -- 2.10.0.rc2.102.g5c102ec