use*_*372 8 git r rstudio knitr
我使用Git作为版本控制(目前是集中式工作流程,但我想转移到功能分支或gitflow工作流程).我使用RStudio/Knitr来编译PDF文档,并想知道如何在PDF中自动包含当前的Git版本 - 如果可行的话?这样,当有人用我给他们的文件回复我时,我知道如何回到代码中的那一点.任何建议将不胜感激,谢谢 - 玛丽.
编辑:关键词是我的想法,虽然根据这篇文章(gelato.unsw.edu.au/archives/git/0610/28891.html)不推荐.有关帮助程序脚本的建议吗? - 刚刚用户1420372
这样做只是为了呈现一个坚果汤的例子.这是@Wanter Nuata的想法.
这是一个小小的knitr doc:
---
output: pdf_document
---
```{r}
print(system("git rev-parse --short HEAD", intern = TRUE))
```
Run Code Online (Sandbox Code Playgroud)
我在一个新创建的本地git仓库中.
当我编写PDF格式时,我得到了这个:
所以你应该能够使用它来为它生成的git提交加水印.
或者,如果您善于向项目添加另一个包依赖项,则可以使用该git2r包:
---
output: pdf_document
---
```{r}
library(git2r)
repo <- repository(".")
print(head(repo))
```
Run Code Online (Sandbox Code Playgroud)
这使:
使用git2r软件包的建议非常好.使用更多功能,您可以隔离实际的SHA.如果感兴趣,您还可以重新调整用途,例如,"作者"字段以获取文档标题中的SHA.
这是R Markdown文档:
---
title: "Show Git version in R Code"
output: html_document
date: "`r format(Sys.time(), '%d %B, %Y')`"
author: "SHA: `r git2r::branch_target(git2r::head(git2r::repository(getwd())))`"
---
You could also put the SHA elsewhere, like in a concluding chunk along with session info.
```{r collapse = TRUE}
git2r::branch_target(git2r::head(git2r::repository(getwd())))
## ADD devtools::session_info() or sessionInfo() ??
```
Run Code Online (Sandbox Code Playgroud)
这使
| 归档时间: |
|
| 查看次数: |
1086 次 |
| 最近记录: |