我正在尝试为我在GitHub上获得的每个diff提交生成一个JSON文件。 为此,我将“SHA”号存储在如下变量中:
$var=$(git log --pretty=format:'%h')
然后我想做一个for循环,我说为var中存储的每个值执行命令git show并将输出存储在一个文件中(例如commit1.json .... Commit100.json等...) (git show $var > Commits.json
)
我是shell中的新手,所以我不知道如何实现这一点。 伙计们,我真的指望你的帮助。
生成文件时如何摆脱特殊字符:revision_2017-03-20T140150+0100
因为后来我试图打开它们并通过它们解析,因为我不能打开它们。
提前感谢您的帮助
答案 0 :(得分:0)
git log --pretty=format:'%h' | while read revision; do git show $revision > revision_"$revision".json; done
如果您想使用其他内容(例如作者日期)来命名文件,您可以执行以下操作:
git log --pretty=format:'%h' | while read revision
do date=$( git show --summary --pretty=%aI $revision | head -n 1)
git show $revision > revision_"$date".json
done