R包开发一:R与Git版本控制

目录

1.安装Git

2-配置Git(只需配置一次)

3-用SSH连接GitHub(只需配置一次)

4-创建Github远程仓库

5-克隆仓库到本地


目标:创建的R包,包含Git版本控制,并且能在远程Github仓库同步,相当于发布在Github。

为此,需要现在Github建立远程同包名的仓库,然后再再本地新建带Git版本控制的同包名的R项目。

本文来源:

《R语言编程》(2023年2月出版,人民邮电出版社)

仅供学习使用。

1.安装Git

到Github官网注册账号。到Git镜像网站下载对应系统版本的Git软件并安装,在安装过程中,所有选项选择默认即可。

具体来说,可以必应搜索关键词"Git镜像网站"。这里使用的Git的镜像网站为(npmmirror.com),从中选择适合自己的系统的版本(如图1-1), 这里选择的是v2.41.0.windows.1(如图1-2) ,点击下载,然后安装。
图1-1 图1-2

2-配置Git(只需配置一次)

R 复制代码
install.packages("devtools")
library(usethis)
use_git_config(user.name="username", user.email="username@gmail.com")

其中用户名和Email建议使用Github注册的用户名和邮箱。

3-用SSH连接GitHub(只需配置一次)

目的:每次本地计算机的RStudio和Github交互时,不需要提供用户名和密码。

使用SSH协议可以连接和验证远程服务器和服务。使用SSH密钥,就不需要每次RStudio与Github交互时提供一遍用户名和密码,将代码上传到Github时,就需要使用SSH。

具体操作:

在RStudio中,依次点击Tools --> Global Options --> Git/SVN --> Creat RSA Key --> Creat。完成后再点击View Public Key(如图3-4所示)。

复制图3-5所示的所有Key码,然后转到GitHub,一次点击头像-->Settings --> SSH and GPC keys --> New SSH Key。 如图3-6 所示,将复制图3-6 内容粘贴到Key框中,点击"Add SSH Key",如果验证成功则会出现图3-7所示的界面。

注意:图3-7中会显示你计算机的用户名,不同的计算机,用户名是不一样的,可以通过点击delete,删掉该计算机下的RStudio和Github的连接。
图3-1 图 3-2

然后出现图3-3,点击close(关闭)。
图3-3 图3-4 图3-5 图3-6 图3-7

4-创建Github远程仓库

登录Github网站,在个人主页点击Repositories-->New,创建一个新仓库(Repository),比如起名为"test-demo",选择Public(公共仓库),勾选下面的Add a README file, 单击Create repository,则成功创建了rest-demo仓库。

注意:这篇博客主要目的是为了创建R包,所以,这里的创建的新仓库名字,设置为想要创建的R包名字。

5-克隆仓库到本地

进入Github仓库页面,点击Code按钮(如图5-1所示),点击"复制"按钮复制HTTPS或者SSH(更推荐)下的仓库地址备用。
图5-1

在RStudio中,依次点击New Project --> Version Control --> Git。如图5-2所示,在Repository URL框粘贴之前复制的仓库抵制,然后点击Browse按钮浏览选择本地路径,勾选Open in new session,点击Create Project,则开始从远程克隆到本地仓库。出现图5-4所示,输入yes。

至此,得到一个用Git控制的RStudio项目,并且在计算机上有一个可以使用的本地副本。
图5-2 图5-3 图5-4

来源:《R语言编程》(2023年2月出版,人民邮电出版社)

参考:Git镜像网址 (只需要参考文章给出的Git镜像网站,不需要看Git的安装部分,个人《R语言编程》一书给出的安装更简单。)

相关推荐
wdfk_prog1 小时前
[Linux]学习笔记系列 -- hashtable
linux·笔记·学习
犹若故人归2 小时前
Github/Gitee和Git实践
git·gitee·github
007php0074 小时前
mySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据
数据库·redis·git·mysql·面试·职场和发展·php
深情的小陈同学4 小时前
工作学习笔记 —— 支持手机端的添加表单行操作
笔记·学习·ai编程
fakerth5 小时前
Git 完全指南:从入门到精通
git
am心5 小时前
学习笔记-小程序-导入商品浏览功能实现
笔记·学习
布谷歌5 小时前
开发笔记:如何消除秘钥数据对RPC负荷、日志、系统安全的伤害?
网络·笔记·网络协议·rpc
XiaoHu02075 小时前
Linux网络编程套接字
linux·服务器·网络·git
hkNaruto6 小时前
【AI】AI学习笔记:LangGraph入门 三大典型应用场景与代码示例及MCP、A2A与LangGraph核心对比
人工智能·笔记·学习
kingmax542120086 小时前
北京高一历史上学期期末考情分析与核心知识点精讲(完整版)-吐血整理-全网最全
笔记·学习方法·历史