有没有办法从R获得当前GIT提交的SHA?我需要通过函数调用(而不是硬字符串)访问它。
我已经将GIT改编为用于分析的版本控制系统,并希望在我的中间报告的脚注上打印SHA(我的工作草稿,pdf格式,获得自己的生活,并且通过查看它不是立即显而易见的它们在生成的那一刻;这会产生可重现性问题。)
供参考:我通过R Studio使用R 3.4.1并通过r markdown创建报告。
答案 0 :(得分:5)
您需要按照此处的说明调用git rev-parse
命令:How to retrieve the hash for the current commit in Git?
您可以使用system()
执行此操作:
https://stat.ethz.ch/R-manual/R-devel/library/base/html/system.html
把它放在一起:
system("git rev-parse HEAD", intern=TRUE)
答案 1 :(得分:3)
安装git2r
包,然后:
> r = git2r::revparse_single(repository(path),"HEAD")
> r@sha
[1] "515e0160237149b534ea0b105c03584d72c6173c"
它还会在返回对象的其他插槽中提供有关提交的其他信息。
> r@author
name: Barry Rowlingson
email: b.rowlingson@example.com
when: 2017-09-17 22:27:28