- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 git 已经有一段时间了,但最近才开始使用 packrat。我希望我的存储库是自包含的,但同时我不想包含 CRAN 包,因为它们是可用的。似乎一旦在带有 packrat 的项目中打开 R,它就会尝试使用项目库中的包;如果它们不可用,那么它将尝试从项目库中的 src 安装;如果它们不可用,它将查看该计算机中安装的库。如果计算机中没有可用的库;接下来会看 CRAN 吗?
我的 git 存储库中至少应该包含哪些文件(例如 packrat.lock)?
最佳答案
您可以选择使用您希望项目可用的包的源 tarball 及其版本设置一个类似 CRAN 的外部存储库。但是,默认行为是接下来查看 CRAN,正如您在问题中所确定的那样。查看 packrat.lock 文件,您会看到对于您在 packrat 中使用的每个包,都有一个名为 source: CRAN
的选项。 (如果您已经从 CRAN 下载了文件,那就是)。
当您有本地存储的包源文件时,该包的锁定内容将更改为以下内容:Package: FooPackage
Source: source
Version: 0.4-4
Hash: 44foo4036fb68e9foo9027048d28
SourcePath: /Users/MyName/Documents/code/myrepo/RNetica
我对你的最后一个问题有点不清楚:What files should I include in my git repo as a minimum (e.g., packrat.lock)?
但我将把它作为 a) 应该存在哪些文件供 packrat 运行的组合,以及 b) 这些文件中的哪些应该提交到 git-repo。为了回答第一个问题,我在现有 R 项目上初始化 Packrat 进行说明。
当你运行 packrat::init()
,发生了两件重要的事情(除其他外):
1.所有的packrat脚手架,包括源tarballs等都创建在:PackageName/packrat/
.
2. packrat/lib*/
已添加到您的 .gitignore 文件中。
所以从这里,我们可以看到 packrat/lib*/
下的任何内容不需要致力于您的 git-repo。这留下了以下 3 个要提交的文件:
packrat/init.R
packrat/packrat.lock
packrat/packrat.opts
packrat.lock
需要通过版本控制系统与他人协作;它有助于使您的私有(private)图书馆保持同步。
packrat.opts
允许您为 Packrat 指定不同的项目特定选项。该文件是使用
get_opts
自动生成的。和
set_opts
.将此文件提交到 git-repo 将确保为所有协作者维护您指定的任何选项。要提交到 repo 的最终文件是
.Rprofile
.该文件告诉 R 使用私有(private)包库(当 R 从项目目录启动时)。
packrat/src/
到.gitignore。但是,这将意味着任何访问 git-repo 的人都无法访问包源代码,并且文件将从 CRAN 下载,或者从源代码行在
packrat.lock
中指定的任何位置下载。文件。
packrat/src/
存储库的文件夹内容可能是您需要的。
关于r - 将 R 与 git 和 packrat 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36187543/
我时不时地输入“git”,然后想到别的东西,然后输入例如“git checkout master”。当然,这给我留下了 $ git git checkout master git: 'git' is
我做到了 git 克隆 git://foo.git 光盘富 ...编辑文件.. 现在我想重新开始。我不在乎我已经做出的任何改变,但我不想再次克隆整个巨型 foo.git,只是丢失我所有的更改。我怎
我在我的电脑上开发代码,我的计算节点很少。 为了让我的程序保持同步,我决定使用 git。以前,我以一种单向模式使用它来“下推”从 PC 到计算节点的更改。但是时不时遇到计算节点特有的小bug,现场修复
虽然它似乎什么也没做,但它没有给出任何警告或错误消息。有什么想法吗? 最佳答案 来自 Git 源的注释: /* * Read a directory tree. We currently ignor
我知道如何为这样的 HTTPS 请求提供用户名和密码: git clone https://username:password@remote 但我想知道如何像这样向 Remote 提供用户名和密码:
Git GUI、Git Bash 和 Git CMD 之间有什么区别?我是初学者,为了进行安装,我发现自己通常同时使用 git bash 和 git CMD 最佳答案 Git CMD 就像使用 git
有人能告诉我git中文件索引被删除是什么意思吗?这些文件在我的 VS Code 中标记为红色,但我仍然可以修改文件并将更改推送到将反射(reflect)这些更改的远程存储库。我认为这一切都是在我使用命
我通过 git 子树将 GLFV 库添加到项目中,但出现此警告“看起来您的 git 安装或您的 git-subtree 安装已损坏”。还描述了几个原因,为什么这可能是: 如 git --exec-pa
我有需要外部 git 项目的 repo,但我不想使用子模块,因为我想在 github 上存档所有文件,所以我认为我只是将具有 git repo 的整个目录添加到 git 但它不t 添加里面的 .git
我有需要外部 git 项目的 repo,但我不想使用子模块,因为我想在 github 上存档所有文件,所以我认为我只是将具有 git repo 的整个目录添加到 git 但它不t 添加里面的 .git
我一直在阅读一篇文章,作者在其中指示:在现有存储库中创建一个新存储库,并想知道这是否是他忽略的错误。稍后我会与他核实。 这些是我要检查的条件: 将现有目录制作成仓库的条件,并且已经 checkin 主
我确实在不同的计算机上处理相同的项目,我想知道是否有一种方法可以跟踪该 .git 文件夹,这样我就不必在所有本地文件中重新配置配置文件。 我将所有工作推送到 bitbucket。 最佳答案 不,没
这个问题在这里已经有了答案: How does git store files? (3 个答案) 关闭 9 年前。 我为我的许多项目创建了一个远程存储库,所以它是我的push 的目的地。与 git
应该如何在 git 中查看文件内容的完整历史记录? 一个文件在 git 中的历史很短,存储库通过 git-svn 同步,但在 svn 中的历史很长。 git 中的历史记录到达文件移动的位置。要查看历史
我是confused here ... 如何对修改后的文件进行git commit,以及如何对新文件进行git commit? 还有,你如何在git中单独提交文件? 最佳答案 git 提交过程分为两个
正在搜索 throw SO 来寻找答案。遇到这个似乎没有给出任何答案的旧线程。重新触发此线程,希望有人知道! 有人能告诉我 git subtree 和 git filter-branch 的区别吗?为
我想知道是否有一种方法可以避免在每个 Git 命令的开头键入单词 git。 如果有一种方法可以在打开命令提示符进入 “Git 模式” 后只使用一次 git 命令就好了。 例如: git> 之后,我们键
当您修改工作目录中的文件时,git 会告诉您使用“git add”暂存。 当您向工作目录添加新文件时,git 会告诉您使用“git add”开始跟踪。 我对这两个概念有点困惑,因为我假设跟踪文件的更改
为什么 git://有效 $ git clone git://github.com/schacon/grit.git Cloning into 'grit'... ... Checking conne
我在以下沙箱中练习 git:https://learngitbranching.js.org/?NODEMO 我在两个单独的 session 中运行了两组命令。第一组命令顺序如下: git clone
我是一名优秀的程序员,十分优秀!