基于作者的壁球提交

Dav*_*wer 5 git version-control

在存储库中,由于自动对AssemblyInfo文件进行构建工具更新而导致大量提交(该项目位于C#中)。这些提交都具有“ Dev BuildAgent”作为作者。

有什么方法可以将存储库中的所有提交从特定作者压缩到另一个作者的第一个子文件夹中?

当然,一种可能性是git rebase --interactive使用根提交的SHA 运行并手动浏览提交列表,并将squash命令手动应用于适当的提交。但是,记住存在大量提交,知道是否有一个更快的选择将很有用。

Vam*_*ire 2

要将作者通过电子邮件的所有提交压缩foo@bar.com到另一作者的下一个子提交中,您可以使用以下命令。当然,您还可以检查任何其他属性,例如作者姓名、提交者电子邮件、提交者姓名等。

git filter-branch --commit-filter '[ "$GIT_AUTHOR_EMAIL" = "foo@bar.com" ] && skip_commit "$@" || git commit-tree "$@"'
Run Code Online (Sandbox Code Playgroud)