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语言编程》一书给出的安装更简单。)

相关推荐
时光不去9 小时前
java接口自动化之allure本地生成报告
运维·笔记·自动化
杨浦老苏10 小时前
简单直观的笔记管理器Poznote
笔记·docker·群晖
~~李木子~~11 小时前
通过git上传项目到码云和GitHub操作手册
git·gitee·github
椰壳也可12 小时前
06_作业基于CubeMx实现按键控制LED灯(裸机)(立芯嵌入式笔记)
笔记·stm32·学习
songyuc13 小时前
【Git】请帮忙解释一下“git reset”
git·elasticsearch
im_AMBER14 小时前
Leetcode 52
笔记·学习·算法·leetcode
wdfk_prog16 小时前
[Linux]学习笔记系列 -- [kernel]kallsyms
linux·笔记·学习
!chen16 小时前
CPP 学习笔记 语法总结
c++·笔记·学习
Komorebi_999917 小时前
使用Git创建自己的分支的操作指南
git
现在,此刻17 小时前
李沐深度学习笔记D3-线性回归
笔记·深度学习·线性回归