因为我在工作中遇到了需要高频重复使用的代码,并且需要被多名分析师使用,故考虑创建R Package并储存到GitHub远程仓库,使得我们能够节省(copy&paste的)时间更高效地完成项目工作,同时(bonus!)更快地进行代码的更新和分享。
Step 1:准备工作。
GitHub是服务端,要想在自己电脑上使用Git,我们还需要一个Git客户端。
Ubuntu 安装 Git: apt-get install git CentOS 安装 Git: yum install git 查看 Git 版本信息: git version 配置 Git 用户信息: git config --global user.name "ljingsheng" git config --global user.email "[email protected]" Windows用户请下载 http://msysgit.github.com/ MAC用户请下载 http://code.google.com/p/tortoisegit/ 一路Next,安装成功后, 回到C盘,或任何文件夹下,点鼠标右键会多出一些菜单。如Git Bash here、Git Gui,说明安装成功。
↑ 把用户名和邮箱换成你自己的,键入命令后屏幕没有输出,则表示设置成功了
接下来开启SSH。如果你使用的是 CentOS,则默认开启了 SSH,可以忽略这一步。
Ubuntu 安装 SSH: apt-get install ssh 查看 SSH 服务状态: ps -e | grep sshd
sshd 表示 ssh-server 已启动
生成 SSH KEY: ssh-keygen -t rsa -C "[email protected]"↑ 生成 ssh key 过程中,会让你填写 passphrase,连按三次回车跳过即可
进入 /.ssh 目录,查看 id_rsa 和 id_rsa.pub 文件。id_rsa 为私钥,id_rsa.pub 为公钥。打开 id_rsa.pub 文件,将内容复制到剪贴板。
cd /.ssh ls -a cat ~/.ssh/id_rsa.pub登录 GitHub,打开 Personal settings 页面,选择 SSH and GPG keys 选项,Title 可以随意填写,Key 中填写刚从 id_rsa.pub 中拷贝的内容。这时候开始,我们就可以连接到GitHub了。
Step 2:连接到GitHub
首先通过 SSH 地址将 GitHub 仓库克隆到本地:
git clone [email protected]:ljingsheng/GMV-Demo.git
第一次连接时,需要你确认 GitHub 的 Key 的指纹信息是否真的来自 GitHub 的服务器。
克隆到本地的仓库会自动关联远程仓库,可以通过git remote -v 命令查看关联状态
关联后可以通过 git push origin master 命令推送修改。注意:如果克隆的是其他人的仓库,由于没有权限,你将不能推送修改。
/* 创建一个 readme.md 文件 */ vim readme.md /* 输出 readme.md 文件内容 */ cat readme.md /* 将文件添加到暂存区 */ git add readme.md /* 提交本次修改 */ git commit -m "add readme file" /* 推送到远程仓库 */ git push origin master
之后我们通过R Studio来维护这个目录。
Step 3:安装需要的R Packages
## Tools you need install.packages("devtools") library("devtools") #http://r-pkgs.had.co.nz/description.html devtools::install_github("klutometis/roxygen") library(roxygen2) # https://github.com/klutometis/roxygen#roxygen2 install.packages(c("testthat", "knitr"))
在安装roxygen之前可能要先装libxml2-dev:
apt-get install libxml2-dev
Step 4:创建Package
进入刚刚克隆的文件夹,使用create()函数创建你的包:
## Directory setwd("~/My_R_Projects/20180611 - GMV Package/GMV-Demo") create("GMVDemo")
新建一个Project,关联这个目录,检查Global Options和Project Options:
此后便可以通过Git Panel来同步远程代码仓库。
Step 5:增加函数
Step 6:增加Help文档
Step 7:安装!
Step 8:发布并投入使用!
install_github
(
'GMVDemo'
,
'github_username'
)
参考文章:
- 【推荐阅读】http://r-pkgs.had.co.nz/intro.html
- 【推荐阅读】http://kbroman.org/github_tutorial/
- https://github.com/klutometis/roxygen#roxygen2
- https://blog.csdn.net/samhuairen/article/details/53843719
- https://blog.csdn.net/hustpzb/article/details/8230454/
git clone https://github.com/ljingsheng/GMV-Demo.git