我有许多用户'提交'。我想将一些用户的所有提交移动到一个新的分支。
我该怎么做?
答案 0 :(得分:21)
查找一位作者的所有提交并将其哈希值保存到文件中:
git log --author=<author> --format=%H > /tmp/commit-by-x
创建一个不包含此特定作者提交的新分支,因为您不想再应用它们两次。为此,您可以创建一个新的空分支:
git checkout --orphan commits-by-x
Cherry-选择该作者的所有提交(从最旧到最新):
tac /tmp/commit-by-x | while read sha; do git cherry-pick ${sha}; done
显然,如果你想让它成功,那么author-x引入的变化必须非常本地化。