【推荐】在R中无缝集成Github云端代码托管

2020-10-23 11:48:53 浏览数 (1)

题提出

由于需要兼顾数据处理以及平时出门的需要,大猫会用到多台设备:实验室一台96G内存的服务器、自己的一台32G内存 1T SSD的地球人笔记本,还有一台i5 8G Surface Pro。平时出门去图书馆只带Surface,一些轻便的任务也在Surface上完成,需要处理繁重的数据就在实验室的机器上跑;如果在外地或者国外并且远程连不上实验室,那么就把地球人作为移动工作站放在住的公寓,出门仍旧带Surface。这时问题就出现了:由于同一个R项目需要在多台设备之间切换,如何保持代码的同步呢?总不能复制粘贴吧?而且我们希望不同设备的修改都能生成历史记录,这样一旦出错我们也有“后悔药”可吃。

解决以上问题的最好方法就是使用统一的云代码托管平台Github。Github是当前最大(也可以说是唯一,因为实在没有竞争对手)的免费代码托管平台,可以轻松实现代码的同步以及团队协作编程。由于R本身不包含任何Github的支持插件,因此我们就需要借助IDE的功能来实现Github同步。在这里大猫将向大家介绍如何使用Visual Studio——这个星球上最强大的IDE——所集成的Github功能来实现这个功能。当你掌握了这个方法,你会发现多设备同步编程是一件多么轻松的事情。

V

isual Studio安装

VS的安装非常简单,首先到官网visualstudio.com上下载免费的Community版本安装文件。双击后系统会提示你需要安装的组建,如果我们只是要进行R编程以及Github同步的话,我们只要选择以及“R language support", "Git for Windows"以及“Gibhub Extension”三种就行,如下图所示。整个安装过程根据机器的配置可能持续10到20分钟不等。

立你的Github主页!

为了能使用Github,第一步自然是要建立一个Github账号。在github.com官网注册完之后会生成一个自定义的个人主页,用户所有托管的代码都会显示在这个主页上。大猫的个人主页是:

github.com/XiaomoWu

大家可以发现,XiaomoWu就是自定义的部分,大家可以把它设置为你的名字或者团队名字等任何合法字符。以下就是大猫的个人主页,目前有SNT(大猫的博士论文代码)CrawlerMainR-Play以及HedgeFund四个项目。

Visual Studio中建立Github项目

在VS中使用Github可以说是一件轻松加愉快的事情,几乎不需要任何多余的设置。点击“新建”,选择新建项目的类型为R,最重要的是勾上“Create new Git repository”这个选项。如果不勾这个选项,那么将来建立的项目就只能在本地使用,无法与Github同步了。在这里我们新建一个项目,名称就叫“Damao”

在Damao这个项目中,大猫新建了两个脚本和dt、dt2两个数据集,并且用内置的浏览器同时打开这两个数据集。如下:

建立完项目后,接下来的任务就是要把我们的R代码上传到云端了!首先,我们需要commit我们对当前项目的修改。大家可以把Commit看作对代码的“快照”,我们每一次commit,就相当于为当前项目拍了张照,而Github保存的就是这些“快照”。重要的是,所有这些“快照”的历史都是可追溯的,也就是说,我们可以回到任何之前commit的版本,编程终于有后悔药可以吃了!

为了commit,我们点击右下角的笔装图标。

在弹出窗口中,我们可以看到自从上次commit以来我们对项目所做的所有变化。在“change”列表中,我们可以看到我们新建了一个叫做01-test.R的脚本和一个叫做02-empirical.R的脚本,并且删除了一个叫做Script.R的脚本。大猫还对于本次commit做了一个批注:Welcome to Damao's R Course! 点击Commit All,完成!

VS代码上传至Github

点击右下角的“向上”箭头(见前图),我们就打开了代码同步页面。我们可以看到VS给了我们三种同步方式:

1)同步至微软自己的代码托管平台Team Services,

2)同步至Github,

3)同步至其他远程仓库。

在这里我们点击“Publish to Github”。然后输入自己的Github账号密码。Github允许我们为上传的项目写一个简介,大猫写的是“欢迎大猫课堂的小伙伴!”。OK,点击“Publish”上传!

PS:上传窗口有个Private Repository选项,意思是上传的代码别人看不到。Github上的所有代码默认是所有人可见的,如果需要私人可见,需要……交钱╮(╯▽╰)╭

上传成功后,我们就可以对本地代码和远程代码进行一系列操作了,包括修改、同步、创建分支等等。下图展示了我们可以的进行的操作。

我们从上图可以看到上传的项目地址是

github.com/XiaomoWu/Damao

让我们访问一下这个页面吧!这个页面所有小伙伴都可见哦。

其他机器上同步Github项目

在另外一台机器上同步我们的Github项目同样非常简单。打开VS后我们在欢迎页可以看到“Open”标签,其中就有从Github的选项,点击。

登陆Github后,VS会让我们从现有的代码仓库中选择一个项目进行同步。在这里我们选择“Damao”这个项目,并且指定好路径,最后点击Clone!

根据网速,几秒至几分钟之后,我们的Github项目就完美同步下来了!接下来就开始打鸡血干活吧!

使

用技巧

在已经登陆Github的情况下,多设备之间进行编程切换是非常方便的。例如,白天在实验室的电脑上写程序,下班时上传至Github,回寝室以后直接点击刷新(Github在VS上不需要重复登陆)就可以在自己的笔记本上继续工作。又或者你对程序进行了修改并上传,远在国外的朋友就可以直接下载你的Github文档继续开发。

其实,Github除了云端代码托管,最大的魅力在于继承了Git版本控制系统。Git是一剂后悔药,可以让你回到过去代码编写的任何阶段。但是Git本身是一个太大的话题,大猫在这儿只能略微带过,感兴趣的小伙伴可以看Github的tuturiol文件,里面有很详细的介绍。

VS作为这个星球上最强大的IDE,对于Git和Github有着非常优秀的支持。在这里大猫就再举一例子。有时我们需要比较两个版本的代码,例如本地版本与云端版本,使用VS的compare功能可以自动高亮出所有修改,让所有变动一目了然。下图就是一个大猫实际编程中遇到的例子。左边是云端版本,右边是本地已经修改但是还没上传云端更新的版本。可以看到VS用绿色标记出了新增加的行,用红色标记出了删除的行,用斜线标记出了空白部分。是不是非常酷炫?

本期大猫向大家介绍了如何在R编程中集成Github。借助于Visual Studio和Github,我们可以轻松做到版本控制以及多设备同步编程。VS对于Github的支持性可谓是任何其他IDE都无法匹敌的,大猫真心建议有需要的小伙伴可以进行尝试。如果觉得有用,希望大家多多转发(/≧▽≦)/

0 人点赞