试图找出 Git 提交后 Hook 中的提交花费了多长时间。
我有一个提交后的 git 钩子(Hook),可以通过 API 提交有关提交的信息。我想做的是弄清楚在提交上花费了多长时间。大致。
我的假设是,通过找到所涉及文件的所有创建时间和修改时间的最小值,并与最大创建时间和修改时间进行比较,可以得出一个粗略的值。
我可以在 Python 脚本中轻松完成此操作。如果有人告诉我这是文件“foo.txt”、“bar.txt”和“path/bla.txt”,我可以根据这些文件在脚本中快速进行一些算术运算。
那么,在 git post-commit Hook 中,我如何获得已更改文件的列表?
最佳答案
在围绕 git 编写脚本时,您应该尽量坚持 plumbing commands ——它们的格式不太可能改变并且更容易解析。这是一个输出在提交中更改的路径名称的命令:
git diff-tree -r --name-only --no-commit-id <tree-ish>
除此之外,您可能希望检查索引,因为它包含有关文件暂存时间的时间戳,这可能会给您带来额外优势;但是,我认为没有办法访问这些信息。
关于git - 在 git post-commit Hook 中,如何获取已更改文件的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4205589/