github桌面版_研之有效 | 高效利器之Github

23316504df3f81a01f94c935977e1baa.png

前言

常言道:“工欲善其事,必先利其器”。要有效率地开展科研工作,不仅需要持续投入时间和热情,还有必要掌握好文献管理、数据处理与分析以及团队合作等各项技能。一款好的软件能大幅提高科研生产力,善用各类软件处理重复性工作,有助于事半功倍地完成科研任务和事务,从而将更多时间用于思考。对于以建模为重要科研工作内容的科研人员而言,掌握相应的编程语言、文本编辑器和代码管理等软件无疑能极大提高工作效率;而对于较少涉及建模或代码维护的研究人员而言,掌握数据分析与可视化软件、计算机系统设置以及高效文件管理方式,也能大幅提高生产力。

基于此,我们根据课题组长期以来的探索和实践,总结了有助于提高个人和团队科研生产力的各类软件使用方法和学习资源,并以系列推送的方式推出,以期对读者有所启发。系列推送包括三个部分:(1)高效编程,介绍提高建模和数据分析效率的常用程序语言,如Batch批处理、LaTex、Linux与Cygwin、R语言以及文本编辑器,本课题组开发的IMED模型就是深度糅合各种编程语言和工具构建的超复杂系统;(2)高效利器,介绍适用于个人办公提效的实用小工具,如各种作图软件、快捷操作开源软件、文献管理利器Endnote和资源管理利器Total Commander;(3)高效协作,介绍适用于团队管理和协作的各种解决方案,如资料存储FTP、代码版本管理的Github、云硬盘坚果云、以及团队协作平台Teambition等。读者可在公众号→科研拾贝→研之有效栏目中阅读全部内容。

借此机会,我们向这方面的几位引路人致以崇高的敬意,包括善用佳软的作者张玉新、TC开发者Ghisler、R语言社区的谢益辉和赵鹏,感谢他们付出大量时间精力创作无数篇文风风趣而又干货满满的博文,无私分享国内外开源软件、开发R实用包、推广R语言,为我们打开了一扇开源与分享之门。此外, Stack Overflow网站也是一盏藏龙卧虎的指明灯。最后,我们希望本系列推送能起到“抛砖引玉”之效,激励读者高效工作、快乐科研。

——北京大学LEEEP研究组

第十三期 高效利器之Github

db6380d49f59d549f1c0a092890f7b49.png

本期导读

所谓“一人行快,多人行远”,在学术科研中,团队合作“升级打怪”必不可少。高效的团队协作方式不仅能够提高团队科研效率、共同完成既定任务,更能够促进团队成员的有效沟通。良好的团队协作离不开团队协作工具的帮助。对于致力于模型开发或涉及大量编程语言使用的团队而言,GitHub是一个适用于分布式开发,能够实现多人协作管理代码、进行高效的版本控制的软件。本文主要就GitHub软件的相关知识进行介绍。

本文约1700字,阅读完需要约5分钟

GitGithub

Git是一个分布式的开源版本控制系统,能实现多人协作以及同时管理项目,并记录每次文件的改动。项目成员使用Git时可以自由地从共享版本库中克隆相关文件到本地版本库,基于本地版本库工作,并将工作记录提交到共享版本库。项目的管理员通过审核提交的工作记录决定是否接受修改并将其整合到共享版本库中。Git服务强调个体的工作效率,分布式开发的工作模式不影响其他人员。 

a142a248b0ff4ae5fde3374407428c7a.png

图1  Git服务模式(图片来自网络)

Github是一款基于Git的代码托管平台,是目前使用最广泛的代码管理系统。Github能够实现代码储存与共享、项目管理、团队协作等功能。

1fb280b907ce9f09873add7a22524541.png 图2  Github功能   Part 1  Github使用方法

1

Github网页版(https://github.com/)

  • 在Github官网设置账号密码,通过邮箱验证后完成账号注册。
  • 免费获取教师/学生福利
       任一页面处点击“Pricing”进入产品页,点击页面左上角“Free for Student/Teacher Benefit”后进入教育页面,点击右上角“Get Benefits”。 该过程需要上传校园卡或学生证等学生信息进行验证。 验证通过后,同样在该页面的右上角点“Get benefits”查看福利(教师在此处为组织授权)。
  • 创建项目(库,Repository简称Repo)
       登陆首页(左上角小猫图标),或个人主页,点击“New Repository”,根据提示输入/选择将创建的库的相关信息。 创建的库的所有者既可以是自己,也可以是自己所在的组织。 库创建完成后,点击“Upload Files”即可上传文件。
  • 分支管理-Branches
       分支可以 理解成为科幻电影里面的平行宇宙,你可以在两个不同的平行宇宙间互不干扰地干 不同的事,而且这两个平行宇宙还可以合并。 新创建的分支内容将和master一样,团队成员可以在分支中随意修改。   
  • Github提供找回历史版本的功能,即找到改历史版本对应的提交记录,下载相关文件。
c343c17c23da0fed229d23269bdc6f91.png 图3  分支管理(示意图来自网络)

2

Github桌面版 (https://desktop.github.com/)

  • Github桌面版和网页配合使用,真正实现分布式管理。用户可以在本地管理和修改代码,并将本地的修改同步到远端。
  • 在File选项卡中,用户可以把远端某个自己有修改或访问权限的Repo克隆到本地,就可以在本地查看信息。
  • 每位有权限者都可克隆到本地。与坚果云等不同的是,一个人的本地修改不会自动同步到另一个人的本地。即本地的代码修改是独立的。而本地的修改可以且仅可以上传、覆盖远端自己账号的Repo(而不会自动覆盖其他人本地的Repo)。远端的代码即可被同组成员看到,其他成员可以选择把远端Repo的最新更新同步下来。
646477b5e7208d550d410e9cf941c87f.png 图4  Github桌面版  

Part 2  Github团队协作

Github的一大功能是实现项目共享和团队协作。Github社区有许多十分著名的开源软件协作项目如Bootstrap,感兴趣的程序员们可以自由在此项目上工作并进行贡献。我们可以通过简单的设置在Github上进行团队协作。

8d302423483b170de31566ab7f0f4f3d.png 图5  bootstrap项目

1

 方法一

针对单一开发项目(Repo)的共享。我们可以在自己想要共享的Repo中添加协作者,此时所有协作者都可以看到整个Repo,并创建属于协作者自己的分支(branch)。协作者可以管理自己的分支,但不能对其他人的分支进行设置。

0352edd8123764500c23a0526f3e5387.png 图6  同步权限

2

方法二

创建“组织”,在组织中进行团队管理。我们可以在setting中创建组织,并邀请协作者加入这个组织。在组织中可以创建属于组织的Repo。针对每个Repo,组织可以给每个成员设置不同的权限,也可以添加组织外的合作者。

e56d205888ad6767697e2246cbe5e9fe.png

图7  查看组织

Part 3  Github社区

我们可以在Github上搜索相关的开源项目,虽然不具有协作权,但仍可以自由复制(Fork)别人的库进行学习和研究,若发现Bug可以进行修改并提交合并申请。

1d1aae8c589c3d853a1503299fdab357.png 图8  Prof.Unger团队的开源YIBS模型(空气污染对植物生长的影响)

Part 4  延伸:Github的相似产品—码云(Gitee)

Gitee是开源中国(https://www.oschina.net/)开发的一款基于git的代码托管平台,能够实现代码托管、项目管理、协作开发,目前是国内最大的代码系统。Gitee除了提供最基础的 Git 代码托管之外,还提供代码在线查看、Fork、Pull Request、打包下载任意版本、代码质量检测等方便管理、开发、协作、共享的功能。与Github相比,Gitee具有速度更快、支持中文界面、支持5人以内的免费私密项目等优势。

Part 5  参考资料及推荐学习资料

1

综合教程/笔记

1.  从0开始学习 GitHub 系列之「初识 GitHub」 https://zhuanlan.zhihu.com/p/21103336?refer=stormzhang2.  史上最浅显易懂的Git教程-廖雪峰. https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

3.  Git学习笔记

https://www.jianshu.com/p/9eaf603b4796?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

4.  Git简易指南  https://www.bootcss.com/p/git-guide/5.  CSDN | Git 使用详细教 https://blog.csdn.net/Free_Wind22/article/details/509677236.   码云帮助中心  https://gitee.com/help

2

团队协作方面

1.  Github团队协作教程(Gitkraken版)  https://www.jianshu.com/p/9f5f0b2f0b3b 2.  GitHub团队项目合作流程  https://www.cnblogs.com/schaepher/p/4933873.html

敬请关注公众号了解LEEEP组研究动态

IMED研究 / 研之有效/ 讲座会议 / 工作机会

编辑 | 马腾

排版 | 胡卉然 刘晓瑞

相关阅读

1 IMED综合评估模型体系介绍

2 招聘 | 北京大学能源环境经济与政策研究组博后招聘公告

3 研之有效 | 高效编程之添加环境变量

4 研之有效 | 高效编程之Batch批处理程序

5 研之有效 | 高效编程之LaTeX简介

6 研之有效 | 高效编程之Linux和Cygwin

7 研之有效 | 高效编程之NCL数据处理及绘图语言

8 研之有效 | 高效编程之轻量级文本编辑器

9 研之有效 | 高效编程之R语言

10 研之有效 | 高效利器之实用绘图软件

11 研之有效 | 高效利器之实用快捷操作开源软件

12 研之有效 | 高效利器之EndNote软件使用指南

13 研之有效 | 高效利器之文件管理软件Total Commander

14 研之有效 | 高效协作之常用FTP软件 53b0aaeebf565f954d3614f225e12bc9.png adf5b98dd0a3d14b066446e01b6f4ae1.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值