作者简介:

祝小宇,R语言中文社区专栏作者,个人公众号:大猫的R语言课堂

前期推荐:

还在用tm?你OUT啦!

题提出

由于需要兼顾数据处理以及平时出门的需要,大猫会用到多台设备:实验室一台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都无法匹敌的,大猫真心建议有需要的小伙伴可以进行尝试。如果觉得有用,希望大家多多转发(/≧▽≦)/

公众号后台回复关键字即可学习

回复 爬虫            爬虫三大案例实战
回复 Python       1小时破冰入门
回复 数据挖掘     R语言入门及数据挖掘
回复 人工智能     三个月入门人工智能
回复 数据分析师  数据分析师成长之路 
回复 机器学习     机器学习的商业应用
回复 数据科学     数据科学实战
回复 常用算法     常用数据挖掘算法

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

  1. Git入门与使用 (三) 使用GitHub进行代码托管的相关操作

    文章目录 一.前言 二.使用GitHub进行代码托管的相关操作 1.推送本地仓库内容至远程仓库 2.克隆远程仓库内容至本地仓库 3.邀请他人加入项目团队 4.拉取远程仓库修改的内容 5.解决协同开发时 ...

  2. 【华为云实战开发】4.如何使用TortoiseGit进行云端代码托管

    1 文档目的 本文档主要帮助习惯使用图形化工具提交代码的开发者,如何更好的应用TortoiseGit,以及更好的将TortoiseGit与DevCloud结合应用. 对于版本管理系统的介绍和git b ...

  3. IDEA中项目集成git提交代码详细步骤

    简介:在团队协作开发的过程中,好的代码管理能更加有效的使日常开发的过程中对各个开发人员提高开发速度.下面将详细介绍在IDEA中使用git提交代码的过程: IDEA中使用git提交代码 一:pull代码 ...

  4. GitHub 与各代码托管平台比较

    文章目录 GitHub 一.优缺点 二.托管限制 三.介绍与使用 GitLab 一.优缺点 二.托管限制 三.介绍与使用 Bitbucket 一.优缺点 二.托管限制 三.介绍与使用 Gitee 一. ...

  5. 【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read | 使用命令行提交代码 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 Android Studio 中首次向 GitHub 提交代码 , 报错 : Push failed: Failed with error: C ...

  6. 【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read from remote )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 Android Studio 中首次向 GitHub 提交代码 , 报错 : Push failed: Failed with error: C ...

  7. 使用Bmob云端代码开发微信公众平台(教程)

    使用Bmob云端代码开发微信公众平台(教程)           目录 一.简介...1 二.创建bmob应用...2 1.注册bmob账号...2 2. 创建应用...3 3. 数据的基本操作... ...

  8. 如何用R语言在机器学习中建立集成模型?

    来源:拓端数据部落 本文约2400字,建议阅读5分钟 本文向您介绍集成建模的基础知识.另外,为了向您提供有关集合建模的实践经验,我们将使用R对hackathon问题进行集成. 1.什么是集成? 通常, ...

  9. 好书推荐《R语言在定量金融中的应用》

    给大家推荐一本R语言在定量金融方面的好书,是我老师编写的,我也非常有幸参与到这本书的编写过程中.这本书2015年5月份正式上线,其实从2013年底开始写的,经历大约两年的时间.这本书一出来就收到了很大 ...

  10. 在Pycharm工具中配置集成Git和GitHub

    在Pycharm工具中配置集成Git和GitHub 1.集成Git. 打开Pycharm,  点击File-->Settins-->Version Control-->Git 然后在 ...

最新文章

  1. 在Substance Designer中创建砖墙视频教程
  2. 轻轻的我走了,正如我轻轻的来…——ADO.NET核心类的灭度与SQLHelper的诞生——十八相送(下)...
  3. 细思极恐,你真的会写 Java 吗
  4. 牛客网--整数与IP地址间的转换
  5. Android多媒体学习八:调用Android自带的音频录制程序,实现录制
  6. 口语技巧-Part2答题逻辑
  7. 011 Android TabLayout+ViewPager实现顶部滑动效果(多个页面)
  8. queryrunner带参数的构造函数和不带参数的构造函数有什么区别_再谈构造函数、原型、原型链之间的关系...
  9. 开源docker管理平台rancher 安装部署
  10. 一个简单的Mastermind Game
  11. JS中var、let以及const关键字到底怎么用?
  12. 【oracle数据库实验相关步骤和语句】
  13. 计算机配件仓库照片,配件仓库存管理技巧
  14. ardupiolt AP_AHRS库类的分析(一)AP_AHRS_NavEKF
  15. mercury水星路由wifi连接不上的坑
  16. GoJs图表的布局类型
  17. opencv3计算机视觉python百度云_OpenCV3计算机视觉Python语言实现笔记(二)
  18. 41. Vue组件传值-父组件向子组件传值
  19. 玩游戏显示计算机丢失,win7玩游戏提示缺少D3DCompiler_47.dll文件怎么处理
  20. 【146】LRU缓存机制

热门文章

  1. iOS Expected unqualified-id 和 Unkown type name 'NSString'
  2. 震惊!Faker.js作者删库,理由竟然是 拒绝被“白嫖”~
  3. 阿里开源的限流神器 Sentinel,轻松搞定接口限流!
  4. 电商如何做企业总体架构?
  5. Linux 平台下 Tomcat 的安装与优化
  6. 最近,华为应用市场上线了一个服务
  7. 给跳槽的人 7 点建议
  8. Docker 指定数据储存目录
  9. 使用 /proc 文件系统
  10. [原创]spring及springmvc精简版--继承数据源,声明式事物