我列出了git rev-list
输出的特定修订列表,现在我想为该列表中的每个修订生成一个补丁文件。我想把每个修订版都传递给git format-patch -1
。但是这会生成名为0001-blah-blah.patch
的补丁文件。我不希望format-patch
为我编号为一个补丁;我只是希望生成blah-blah.patch
。
有没有办法单独使用git format-patch
完成此操作?或者是生成补丁后重命名文件的唯一方法吗?
答案 0 :(得分:1)
我不得不使用这个片段来处理它:
git rev-list ... |
xargs bash -c '
let "n = 0"
for sha; do
printf -v name "%04d-%s.patch" "$n" "$(git show -s --format=format:%f "$sha")"
git format-patch --stdout -1 "$sha" > "patches/$name"
let "n++"
done
' bash