1
git rebase --interactive some_commit~

some_commit给我一个从until提交的列表HEAD

git log --author some_author --oneline some_commit..

some_author给我一个from some_commituntil的提交列表HEAD

我如何仅使用第二个列表中的提交来重新设置基准?这是删除提交而不是some_author.

更新

我找到了一些方法,但我的脑海中缺少了一些步骤:

git cherry-pick commit1 commit2 commit3 ...

commit1 commit2 commit3 ...如果我的第二个命令的输出是:我怎么能得到:

commit1 message1
commit2 message2
commit3 message3

?

4

1 回答 1

3

正如您所发现的,cherry-pick这是执行此操作的方法。您可以在 log 命令中替换--oneline--pretty=%H仅列出提交 ID。您可能--reverse还需要添加以从头到尾列出提交,而不是像往常一样从最近到最旧。您可以使用以下命令在一个命令中完成所有操作:

git cherry-pick $(git log --pretty=%H --reverse --author some_author some_commit..)
于 2013-08-12T23:02:48.273 回答