使用 "devtools::install_github" 和克隆 GitHub 存储库有什么区别?
What's the difference between using "devtools::install_github" and cloning a GitHub repository?
我在 R 中使用 devtools::install_github...
来安装存储库,并且还在终端中使用 git clone
安装了存储库。这两条路线有什么区别?到目前为止,我知道我可以在 R 中使用 library(package)
并将包加载进去,而当我克隆 GitHub 存储库时,我认为包不会立即可用。谁能解释一下这两种方法的区别?
谢谢!
git clone
是检查任何 git 存储库的本地副本的通用方法。它根本不知道 R 或 R 包如何工作。 devtools::install_github()
(实际上只是 remotes::install_github()
)检出存储库的副本,然后执行实际构建和安装包的额外工作,以便 R 可以使用它。它还会在安装后删除原始源文件的本地副本。如果您只想 run/use 包,请使用 remotes::install_github()
。如果你想 edit/contribute 到一个包的源代码,然后使用 git clone
来获取代码。
devtools::install_github
是一个 R 函数,它尝试直接从 GitHub 个存储库 (Link to Documentation) 安装包。这允许从 GitHub 自动安装包。您可以像这样在对函数的单个调用中指定多个存储库(来自先前 link 的示例尝试安装多个存储库):
install_github(c("rstudio/httpuv", "rstudio/shiny"))
git clone
是一个控制台命令,它通过复制所有文件 (Link to Documentation) 来克隆 git 存储库。您只能通过命令克隆一个存储库,克隆后可能需要构建和安装包。此外,您可以从不同于 GitHub 的主机克隆,例如 BitBucket、GitLab 或自定义 git 服务器。您可以像这样克隆存储库(来自先前 link 的示例试图从不同于 GitHub 的主机克隆存储库):
git clone git://git.kernel.org/pub/scm/.../linux.git my-linux
我在 R 中使用 devtools::install_github...
来安装存储库,并且还在终端中使用 git clone
安装了存储库。这两条路线有什么区别?到目前为止,我知道我可以在 R 中使用 library(package)
并将包加载进去,而当我克隆 GitHub 存储库时,我认为包不会立即可用。谁能解释一下这两种方法的区别?
谢谢!
git clone
是检查任何 git 存储库的本地副本的通用方法。它根本不知道 R 或 R 包如何工作。 devtools::install_github()
(实际上只是 remotes::install_github()
)检出存储库的副本,然后执行实际构建和安装包的额外工作,以便 R 可以使用它。它还会在安装后删除原始源文件的本地副本。如果您只想 run/use 包,请使用 remotes::install_github()
。如果你想 edit/contribute 到一个包的源代码,然后使用 git clone
来获取代码。
devtools::install_github
是一个 R 函数,它尝试直接从 GitHub 个存储库 (Link to Documentation) 安装包。这允许从 GitHub 自动安装包。您可以像这样在对函数的单个调用中指定多个存储库(来自先前 link 的示例尝试安装多个存储库):
install_github(c("rstudio/httpuv", "rstudio/shiny"))
git clone
是一个控制台命令,它通过复制所有文件 (Link to Documentation) 来克隆 git 存储库。您只能通过命令克隆一个存储库,克隆后可能需要构建和安装包。此外,您可以从不同于 GitHub 的主机克隆,例如 BitBucket、GitLab 或自定义 git 服务器。您可以像这样克隆存储库(来自先前 link 的示例试图从不同于 GitHub 的主机克隆存储库):
git clone git://git.kernel.org/pub/scm/.../linux.git my-linux