git – 基于作者的壁球提交

在存储库中,由AssemblyInfo文件的自动构建工具更新(项目在C#中)导致了大量的提交.这些提交都有“Dev BuildAgent”作为作者.

有没有办法将特定作者的存储库中的所有提交压缩到另一位作者的第一个子节点?

当然,一种可能性是使用根提交的SHA运行git rebase –interactive并手动浏览提交列表并手动将squash命令应用于相应的提交.但是,知道是否有更快的选项将是有用的,记住有大量的提交.

最佳答案 要通过电子邮件foo@bar.com将作者的所有提交压缩到另一个作者的下一个子提交中,您可以使用以下内容.您当然也可以检查任何其他属性,如作者姓名,提交者电子邮件,提交者名称,……

git filter-branch --commit-filter '[ "$GIT_AUTHOR_EMAIL" = "foo@bar.com" ] && skip_commit "$@" || git commit-tree "$@"'
点赞