git rebase --interactive some_commit~
给我一份从some_commit
到HEAD
的提交列表。
git log --author some_author --oneline some_commit..
从some_author
到some_commit
,HEAD
提供了一份提交列表。
我怎么能只使用第二个列表中的提交来重新命名?这是删除提交而不是some_author
。
我找到了一些方法,但我脑海中缺少一些步骤:
git cherry-pick commit1 commit2 commit3 ...
如果第二个命令的输出是:
,我怎么能得到commit1 commit2 commit3 ...
commit1 message1
commit2 message2
commit3 message3
答案 0 :(得分:1)
正如您所发现的,cherry-pick
是实现此目的的方法。您可以在日志命令中将--oneline
替换为--pretty=%H
,以使其仅列出提交ID。您可能还希望添加--reverse
以便从头到尾列出提交,而不是像往常一样从最近到最旧。您可以使用以下命令在一个命令中执行整个操作:
git cherry-pick $(git log --pretty=%H --reverse --author some_author some_commit..)