我想知道你是否可以为一个范围生成补丁,但只限制来自特定作者的提交,就像你一样git log --author='bob'.
对的,这是可能的.
根据基准上git format-patch它接受<revision range>
通用表达式(请参阅gitrevisions(7)中的"指定修订"部分)表示指定范围内的提交.
细节可以在参考文献中找到,但我们只需要这个:
^ !,例如HEAD ^!
后缀为感叹号的后缀^与给出提交相同,然后其所有父项都以^为前缀以排除它们(以及它们的祖先).
所以你需要:
git log X..Y --author='<AUTHOR>' --format="%H" | sed 's/$/^!/g' | xargs -I{} git format-patch {}
Run Code Online (Sandbox Code Playgroud)
git log X..Y --author='<AUTHOR>' --format="%H" 以40位sha1总和的格式生成输出.
sed 's/$/^!/g'添加^!在每一行的末尾
xargs -I{} git format-patch {}只运行git format-patch每一行
| 归档时间: |
|
| 查看次数: |
1654 次 |
| 最近记录: |