3

我正在尝试在 RStudio 和 Rmarkdown 中进行一些可重复的研究。主要是因为我懒得一遍又一遍地将数字粘贴到 powerpoint 或 word 中。 咧嘴笑

我认为对于可重复研究非常重要的一件事是准确记录生成报告的 RMarkdown 文档的哪个版本。通常,此类文档会经过多次修订,此外,它们可能会从存储库中提取多个其他源文件或数据。因此,插入 git commit SHA,并记录存储库是干净还是脏。

但是尽管 RStudio 知道 git,它似乎并没有通过任何 API 调用提供这些信息。还是我错过了什么?

除了手动掏出 git 之外,我还有什么选择?

4

1 回答 1

1

我认为 RStudio 也不提供此信息,但您可以通过这样的system调用轻松检索它,例如:

docVersion <- system("git log -n 1 --pretty=oneline", intern = TRUE)
repoStatus <- system("git status -s", intern = TRUE)

您只需要指定您想要的格式,git log并且可能会稍微摆弄一下git status以获得您想要的确切信息。

于 2015-06-18T11:57:40.317 回答