如何从R获得当前git commit的sha

时间:2017-09-23 07:01:05

标签: r git rstudio r-markdown sha

有没有办法从R获得当前GIT提交的SHA?我需要通过函数调用(而不是硬字符串)访问它。

我已经将GIT改编为用于分析的版本控制系统,并希望在我的中间报告的脚注上打印SHA(我的工作草稿,pdf格式,获得自己的生活,并且通过查看它不是立即显而易见的它们在生成的那一刻;这会产生可重现性问题。)

供参考:我通过R Studio使用R 3.4.1并通过r markdown创建报告。

2 个答案:

答案 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