在每个git提交上运行bash脚本

时间:2013-04-25 21:18:09

标签: git bash

出于好奇,我想对我已经工作了一段时间的项目进行基准测试,看看它在各种任务中的表现随着时间的推移是如何变化的。该项目存储在git存储库中。

从根本上说,似乎正确的方法是

for r in $(git log --pretty="format:%H"); do
    git checkout $r
    echo "$r\t$(./benchmark.sh)" >> results.txt
done

这看起来像是一个黑客(使用瓷器作为管道工作,对于初学者而言),所以我想知道是否有一个“首选”方法,例如(我希望)

git black_magic-run-on-all ./benchmark.sh > results.txt

这似乎是一个足够普遍的任务,这就是为什么我希望存在某些东西。

1 个答案:

答案 0 :(得分:3)

您可以使用初学者 rev-list

git rev-list HEAD