偶然发现了这个 gem:将所有提交导出到 ZIP 文件或目录中,其初始答案满足我将来自某些分支(例如开发)的提交导出到单独的 zip 文件的需要——所有这些都是通过一个简单但聪明的单行完成的:
git rev-list --all --reverse | while read hash; do git archive --format zip --output ../myproject-commit$((i=i+1))-$hash.zip $hash; done
在我的版本中,我--all
用--first-parent develop
.
我现在想做的是通过在文件名中包含提交日期和提交作者来使文件名更有用。我用谷歌搜索了一下,摸索了 git 存档文档,但似乎没有找到我可以使用的任何其他“参数”,这些“参数”很容易获得,比如 $hash。
我猜我需要扩展循环并单独调用相关位,将它们保存到 bash 变量中并使用 ${author} 之类的东西将它们传递给输出选项,除非其他人知道更清洁、更简单的方法这样做,或者可以指向我可以从 git 的其他部分提取所需信息的文档或其他示例?提前感谢您的任何见解。