合并提交过滤作者 - Git

时间:2013-08-12 22:37:55

标签: git

git rebase --interactive some_commit~

给我一​​份从some_commitHEAD的提交列表。

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

some_authorsome_commitHEAD提供了一份提交列表。

我怎么能只使用第二个列表中的提交来重新命名?这是删除提交而不是some_author

更新

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

git cherry-pick commit1 commit2 commit3 ...

如果第二个命令的输出是:

,我怎么能得到commit1 commit2 commit3 ...
commit1 message1
commit2 message2
commit3 message3

1 个答案:

答案 0 :(得分:1)

正如您所发现的,cherry-pick是实现此目的的方法。您可以在日志命令中将--oneline替换为--pretty=%H,以使其仅列出提交ID。您可能还希望添加--reverse以便从头到尾列出提交,而不是像往常一样从最近到最旧。您可以使用以下命令在一个命令中执行整个操作:

git cherry-pick $(git log --pretty=%H --reverse --author some_author some_commit..)