被称为“开发者神器”的GitHub,到底该怎么用?

被称为“开发者神器”的GitHub,到底该怎么用?

原文:https://baijiahao.baidu.com/s?id=1594232691312740966&wfr=spider&for=pc

开发人员每天都要在工作中使用GitHub或其他基于Git的工具。 GitHub是面向开源及私有软件项目的托管平台。 那么什么是GitHub?其中都有哪些关键的概念?如何使用GitHub才能提高工作效率?

本文编译自medium上原标题为A developer’s introduction to GitHub的文章。

GitHub是一个拥有数十亿行代码的网站,每天有数百万开发者聚集在一起,研究开源软件中存在的问题。

简而言之,它是为软件开发人员构建的平台,是围绕Git构建的。

为什么选择GitHub?

现在你知道了GitHub是什么,你可能会问为什么需要使用GitHub。

毕竟,GitHub由一家私人公司管理并且该公司通过托管代码获利。 那么为什么应该使用GitHub而不是像BitBucket或GitLab这样的平台呢?

除个人喜好和技术原因外,还有一个重要原因:每个人都在使用GitHub,因此其网络效应不可小觑。

主要的代码库已经随着时间的推移从其他版本控制系统迁移到Git,因为它更加便捷,并且GitHub投入了大量的努力来满足开源社区的需求。

所以今天,你在查找一些软件库时,99%的情况下会在GitHub上找到它。

除了开源代码之外,许多开发人员还在GitHub上托管私有存储库,因为平台很方便。

现在让我们了解一下开发人员需要知道的有关Git的概念。

GitHub Issues

Github Issues是世界上最受欢迎的bug跟踪系统之一。

项目的所有者可以利用它组织,标记和将issue与里程碑关联。

如果您在其他人管理的项目上打开某个issue,它将保持打开状态,直到您将其关闭(例如,如果您找到了问题所在)或者项目管理者关闭这个issue。

有时候你会得到一个明确的答案,而其他时候,这个issue将会被打开并标记出一些分类信息。 然后开发人员可以回到这个issue来解决问题或根据反馈改进代码库。

大多数开发人员不会免费管理在GitHub上发布的代码,因此您不能期望即时回复。 但是一些开放源代码库由那些围绕该代码提供服务的公司发布,它们会提供具有更多功能的版本或者使用基于插件的系统。 这些公司已经为开源项目付给开发人员工资。

社会编码

几年前,GitHub标志出现了“社交编码”。

这是什么意思,和GitHub有什么关系呢?

Follow

使用GitHub,您可以通过访问用户的个人资料并单击“关注”,或者通过单击软件库上的“观看”按钮来关注开发人员或软件库。

在这两种情况下,活动都会显示在您的dashboard中。关注用户或软件库跟Twitter上的关注不一样,你看不见人们说什么,而可以看到人们在做什么。

Star

GitHub的一大特色就是能够为软件库加星标。用户可以通过这个操作将其他软件库加入到“已加星标的软件库”列表中,这样用户可以关注自己感兴趣的项目并发现类似的项目。

这也是最重要的评级机制之一,因为软件库的星星越多,它通常就越受欢迎和重要。它在搜索结果中也会位于更突出的位置。

重大项目可能有数万颗星。

GitHub也有一个trending页面,它会推荐在特定时间段内(例如今天或本周或本月)获得最多星星的软件库。

Fork

项目最后一个重要的网络指标是fork的数量。

这是GitHub如何工作的关键,因为fork是Pull Request(PR)的基础,这是一个更改提议。一个人可能会fork您的软件库,进行一些更改,然后创建一个PR来要求您合并这些更改。

有时fork软件库的人可能永远不会要求你合并任何东西。他们可能会因为喜欢你的代码而fork你的软件库,并在上面添加一些他们不想合并到原始软件库的东西。用户还可以修复他们遇到的bug。

受欢迎=更好

总而言之,这些都是项目受欢迎程度的关键指标。 除了上述指标之外,最近一次提交的日期和作者参与issue跟踪系统的信息也是衡量软件库或软件可信度的标准之一。

PR(Pull Request)

在前一节中,我介绍了Pull Request(PR)是什么。 重申一下,一个人可能会fork你的软件库,做一些改变,然后创建一个PR来要求你合并这些改变。

一个项目可能有数百个PR,通常情况下,项目越受欢迎,它的PR越多,如React项目:

一旦一个人提交了PR请求,项目的核心维护者就会对其进行审查。

根据请求范围(更改次数,受更改影响的事件数量或涉及到的代码的复杂程度),维护人员可能需要不等的时间来确保更改与项目兼容。

一个项目可能有有关改进的明确时间表。维护人员希望用户用尽可能简单的方式介绍PR中的体系结构。

这就是说,PR并不总是被立马接受,并且可能不会被接受。

在我上面的例子中,软件库中有一个一年半前的PR。这在所有项目中都会发,很正常,可能是由于我上面提到的原因。

项目管理

除了issues(开发人员获得用户反馈的地方)外,GitHub界面还提供了少量项目管理功能。

其中之一是Projects。它在生态系统中是非常新的,也很少被使用,但它是帮助用户组织需要完成的问题和工作的看板。

Wiki可以被用作文档。另一个受欢迎的项目管理功能是里程碑。它是issue页面的一部分,您可以将问题分配给特定的里程碑,可能是发布目标。

说到发布,GitHub通过引入发布增强了Git的标签功能。

Git标签是特定commit的指针,如果完成时间一致,它可以帮助您回到之前版本的代码,并且无需引用特定的commit。

GitHub发布版建立在Git标签的基础上,代表代码的完整版本,也可能代表代码最终产品完整工作版本的Zip文件,发行说明和二进制资产。

尽管可以通过编程创建Git标签(例如,使用命令行git程序),但创建GitHub版本是手动过程,在GitHub UI上进行。用户可以利用GitHub创建一个新版本,并选择你想应用的标签。

比较commits

GitHub提供了很多处理代码的工具。

您可能最希望做的事情之一是将一个分支与另一个分支进行比较。 或者您可能希望将最新的commit与您当前使用的版本进行比较,以便随时查看更改。

用户可以利用GitHub比较视图执行此操作:只需在软件库名称末尾添加/compare即可。

例如,

在下图中,我将最新的React v15.x与最新v16.0.0-rc版本进行了比较,方便大家了解更改的内容。

该视图向您展示了两个版本(或标签或commits)之间的不同以及实际差异。

Webhooks和服务

GitHub提供了许多有助于开发人员工作流程的功能,例如webhook和服务。

Webhooks

当软件库中出现特定问题时,Webhook可以触发外部服务,例如,推送代码时,创建分支或删除标签。

当问题发生时,GitHub会给URL发送POST请求。

当我们从本地计算机推送更新时,此功能能ping远程服务器以从GitHub获取最新代码。

服务

GitHub服务和新的GitHub应用程序是第三方集成程序,可改善开发者的体验或为用户提供服务。

例如,您可以设置一个测试运行器,这样每次TravisCI推送新commits时,它可以自动运行测试。

您可以设置Continuous Integration来使用CircleCI。您也可以创建一个Codeclimate集成程序来分析代码并创建“Technical Debt”报告和测试覆盖率。

小结

GitHub是一个了不起的工具和服务平台,是当今开发人员可以利用的真正神器。本教程只是入门级,但在GitHub上工作是不容错过的。

原文作者:Flavio Copes

原文链接:

编译组出品。编辑:郝鹏程

原文地址:https://www.cnblogs.com/zouhao/p/10637313.html

时间: 2024-11-06 03:41:10

被称为“开发者神器”的GitHub,到底该怎么用?的相关文章

开发者的Facebook | GitHub投资人寻求退出?Microsoft意图收购?

自2015年7月GitHub估值20亿美元融资2.5亿美元后,近期又有消息称,GitHub的投资人和早期员工寻求变现退出,因此要立刻开启第二轮融资. 不过,消息兵分两路.一种说法是,GitHub第二轮融资估值可能会低于之前的20亿美元,有知情者给出15亿美元估值的说法:同时,另外一种说法暗示GitHub会直接IPO.目前很难判断投资人希望看到哪种局面,而且估值也是个难题,但是可以肯定的是,投资人和早期员工希望尽快获得现金回报.可能收购GitHub,或者对其进行战略投资. 不过还有一种更有趣的说法

五年 Web 开发者 star 的 github 整理说明

欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:樊东东 前端从业几年,积累了不少github开源库. 有时候想查阅以前star的库,但不好找,github大多库都是英文说明,对中文开发者不太友好,这里整理下收集的github库,方便需要的时候查阅. 其实老早就有整理github上资源的想法,现在才付诸行动. 正在写的时候收到稀土圈公众号开源库功能上线的通知,英雄所见略同. node-ffmpeg ffmpeg视频处理的node库 bgrins/videoconverter.j

windows 开发者神器 tc – total command和替代品

作为开发者,windows上开发时,会运用一些神器,比如:total commander,搜索目录.查看文件.批量重命名等非常方便. tc是收费版的,有个免费的替代版本Just manager:http://www.justmanager.ru/downloads/ 之前在Altium公司工作时,大批的乌克兰程序员喜欢用Far Manager,充满大学学c/c++时turbo c/borland c++的即视感.在此下载: https://farmanager.com/download.php?

octotree神器 For Github and GitLab 火狐插件

Code tree for GitHub and GitLabExtension to show code tree for GitHub and GitLab. Useful for developers who frequently read source and do not want to download or checkout too many repositories.Features: * Easy-to-navigate code tree like IDEs* Support

Git与GitHub到底有什么联系?

Git与GitHub区别 git 是一个软件 版本控制器 分享合并代码, 团队开发 时间机器, 可以获取到任意阶段时间节点开发的代码, 代码找回 git, cvs, bitkeeper, svn 典型的版本控制器软件. git 可以在 .git 文件夹里面维护你的历史代码,指定了 remote 链接和用户信息(git 靠用户名+邮箱识别用户)之后,git 可以帮你将提交过的代码 push 到远程的仓库(任意提供了 git 托管服务的服务器上都可以,包括你自己建一个或者 GitHub/BitBuc

Android开发者的Git&GitHub(二)

 将代码托管到GitHub上 点击右上角New repository按钮来创建一个版本库 命名后选择添加一个Android项目类型的.gitignore文件,并选择开源协议(例如:Apache v2 License) 打开Git Bash并切换到工程目录下,输入git clone https://github.com/zhangbz/PhotoGallery.git把远程版本库克隆到本地 克隆成功后,将新增目录下的文件全部复制到上一层目录(注意.git是一个隐藏文件,不要漏掉),复制完后可把该目

Android开发者的Git&Github(一)

安装Git: Linux(以Ubuntu为例): sudo apt-get install git-core Windows: 访问网址http://msysgit.github.io/下载安装包 下载完成后双击安装包进行安装,之后一直点击下一步就可以完成安装了 创建代码仓库 首先配置一下身份 git config --global user.name "zhangbz" git config --global user.email "[email protected]&qu

被称为同步神器的 BTSync,你可以怎么用?

在这高速运作的信息化时代,使用云端来衔接工作和生活的点滴已是寻常事.可你是否曾扪心自问过:用各大云端备份自己的信息资料,真的安全放心吗? 毫不夸张的说,其实恶意代码和漏洞早已和你如影随形.你甚至都不用反驳说这是阴谋论,不信你去看看各网盘的「用户条款」和「隐私政策」.哦对了,也许绝大部分人并未真正地阅览过,那如此一来,你的「隐私」又究竟何在呢? 其实这一切早已经被 BitTorrent 团队所看透,也正立足于此,他们才倾尽全力打磨出 Sync 这款点对点.跨平台备份同步的解决方案.一旦配置好后你会

推荐一款让你纵横Github的读码神器

当我们想深入了解一个开源项目的时候,通常我们有以下几种姿势: 懒汉型 通过Web的方式,逐个的点击页面寻找和查看具体的源码内容. 优点:不依赖任何工具,无须任何额外的操作缺点:效率低下,查找文件不便,切换查看更不便 极客型 通过git clone或download的方式,将项目源文件下载到本地,然后通过自己最顺手的IDE打开阅读. 优点:依靠强大的IDE功能可以快速的搜索以及高效的查看源码缺点:需要下载源码,并且依赖第三方工具 本期推荐 上面的方式从效率与成本上来说,都各有优缺点.那么是不是有什