renv与git的相互作用
我试图更好地理解R中的renv与git的相互作用,r,git,version-control,environment,renv,R,Git,Version Control,Environment,Renv,我试图更好地理解R中的renv包是如何工作的,以及它是如何与git交互的。以下是我的问题 假设我的R项目中有master和几个git分支(master和分支),我希望使用不同的环境(不同的库或相同库的不同版本)。renv是否能够处理它,即如果我从一个分支切换到另一个分支,则需要调用renv::restore() 我有两个独立的项目,分别运行renv,称为项目A和项目B。我想从项目B中获取环境,并替换项目A中的环境。我如何才能完成它?我是否只需要将renv文件夹从一个项目复制到另一个项目 假设
renv
包是如何工作的,以及它是如何与git交互的。以下是我的问题
renv
是否能够处理它,即如果我从一个分支切换到另一个分支,则需要调用renv::restore()
renv
,称为项目A和项目B。我想从项目B中获取环境,并替换项目A中的环境。我如何才能完成它?我是否只需要将renv
文件夹从一个项目复制到另一个项目
renv
将项目库从版本控制中排除(以避免增加存储库的大小),因此在正常情况下,切换分支时需要恢复库路径
这有点困难,所以另一个解决方案是配置renv
为git
存储库的每个分支使用不同的库路径。您可以通过(在您的项目.Rprofile
)中执行以下操作来完成此任务:
分支
branch <- system("git rev-parse --abbrev-ref HEAD", intern = TRUE)
Sys.setenv(RENV_PATHS_LIBRARY = file.path("renv/library/branches", branch))