欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 经验分享 > 其他经验 > 别掉队,数百万程序员都是这样玩转GitHub的

别掉队,数百万程序员都是这样玩转GitHub的

2018-07-26 484 收藏 0 赞一个 0 真差劲 0 去评论

GitHub是一个每天都有数百万开发人员聚集在一起开发软件的网站。它也是托管数十亿行代码的地方,也是软件用户报告他们可能遇到问题的地方。如何玩转GitHub,了解作为开发者和程序员应该知道的所有关于GitHub最重要的内容。

GitHub介绍

GitHub是一个每天都有数百万开发人员聚集在一起开发软件的网站。它也是托管数十亿行代码的地方,也是软件用户报告他们可能遇到问题的地方。简而言之,它是软件开发人员的平台,它是围绕Git构建的。

作为开发人员,你无法避免每天使用GitHub来托管代码或使用其他人的代码。本文解释了GitHub的一些关键概念,以及如何使用它改善工作流程的一些功能,以及如何将其他应用程序集成到你的流程中。

为什么选择GitHub?

既然你知道GitHub是什么,你可能会问为什么要使用它。GitHub毕竟是由一家私人公司管理的,该公司通过托管开发者的代码获利。那么为什么要使用它而不是像BitBucket或GitLab这样非常相似的类似平台呢?

除个人偏好和技术原因外,还有一个重要原因:每个人都使用GitHub,它的网络效应巨大。主要代码库随着时间的推移从其他版本控制系统迁移到Git,是因为它的便利性,GitHub已经很好地定位了开源社区。所以今天任何时候你查找一些库,你都会有99%的可能在GitHub上找到它。除了代码开源之外,许多开发人员还在GitHub上托管私有存储库,因为它具有独特平台的便利性。

GitHub issue

GitHub的issue是世界上最流行的bug跟踪器之一。它为存储库的所有者提供了组织,标记和分配里程碑问题的能力。如果你在由其他人管理的项目上打开issues,它将保持打开状态,直到你关闭它(例如,如果你发现issues),或者回购所有者关闭它。

有时你会获得明确的答案,有时候issue会保持开放并标记一些对其进行分类的信息,开发人员可以回过头来解决问题或根据你的反馈改进代码库。

大多数开发人员都没有支付他们在GitHub上发布的代码的费用,所以你不能期望得到及时的回复,但有时候开源软件包是由那些提供围绕该代码提供服务的公司发布的,或者是为具有更多功能的版本提供商业产品,或者基于插件的体系结构,在这种情况下,他们可能正在作为付费开发人员使用开源软件。

社交编程

几年前,GitHub的LOGO包含了“社交编程”的Slogan。

Follow

使用GitHub,你可以关注开发者,访问他们的个人资料并点击“关注”。你还可以通过单击库中的“watch”按钮来关注存储库。

在这两种情况下,活动都会显示在仪表板中。你不会像Twitter那样关注后,会看到用户说了什么,但你会看到开发者在做什么。

Star

GitHub的一大特色就是能够为存储库加注星标。此操作将包含在你的“已加星标的存储库”列表中,该列表允许你以前找到的感兴趣的内容,并且它也是最重要的评级机制之一,因为回购的星越多,它就越重要,并且它将越多地出现在搜索结果中。

重大项目可以拥有70000多颗星。

GitHub还有一个趋势页面,其中包含在确定的时间段内获得最多星的存储库,例如今天或本周或月。

Fork

项目的最后一个重要网络指标是Fork数量。这是GitHub如何工作的关键,因为fork是Pull Request(PR)的基础,这是一个更改提议。从你的存储库开始,一个人Fork,进行一些更改,然后创建一个PR,要求你合并这些更改。

有时候,Fork的人永远不会要求你合并任何东西,只是因为他们喜欢你的代码,并决定在它上面添加一些东西,或者他们修复了遇到的一些错误。

fork会克隆GitHub项目的文件,但不会克隆原始项目中的任何星或issue。

热门=更好

总而言之,这些都是项目受欢迎程度的关键指标,通常伴随着最新提交的日期以及作者参与问题跟踪器的情况,这是一个有用的指示,表明你是否应该依赖于库或软件。

拉请求(Pull requests)

从你的存储库开始,一个人fork,进行一些更改,然后创建一个PR,要求你合并这些更改。一个项目可能有数百个PR,通常是项目越受欢迎,PR越多,如React项目:

1.jpeg

一旦一个人使用GitHub接口提交PR,这是一个简单的过程,它需要由项目的核心维护者进行审核。根据PR的范围(更改的数量,或更改所影响的事物的数量,或触及的代码的复杂程度),维护人员可能需要更多,或更少的时间来确保你的更改与项目兼容。

项目可能有明确的时间表,他们想要引入变更。当你在PR中引入复杂的体系结构时,维护者可能希望保持简单。这就是说PR并不总是被快速接受,并且也无法保证PR甚至会被接受。

在我上面发布的示例中,回购中有一个PR可以追溯到一年半以前。这种情况发生在所有项目中。

项目管理

除了开发人员从用户那里获得反馈的问题外,GitHub界面还提供了其他旨在帮助项目管理的功能。其中之一是项目。它在生态系统中是非常新的,很少使用,但它是一个看板,可以帮助组织需要完成的问题和工作。

Wiki旨在用作用户的文档。我到目前为止看到的Wiki最令人印象深刻的用途之一是Go编程语言GitHub Wiki。

另一个受欢迎的项目管理援助是里程碑(milestones)。issue页面的一部分,你可以将问题分配给特定的里程碑,这可能是发布目标。

说到版本,GitHub通过引入版本来增强Git标签功能。Git标签是指向特定提交的指针,如果一致地完成,则可帮助你回滚到代码的先前版本,而无需引用特定提交。

GitHub版本构建于Git标签之上,代表完整版本的代码,以及可能代表代码最终产品完全可用版本的zip文件,发行说明和二进制资产。

虽然可以通过编程方式创建Git标记(例如,使用命令行gitprogram),但创建GitHub版本是通过GitHub UI进行的手动过程。你基本上告诉GitHub创建一个新版本,并告诉他们要将该版本应用于哪个标签。

比较提交

GitHub提供了许多工具来处理你的代码。你可能想要做的最重要的事情之一是将一个分支与另一个分支进行比较。或者,将最新提交与你当前使用的版本进行比较,以查看随时间进行的更改。GitHub允许你使用比较视图执行此操作,只需添加/compare repo名称,例如:

2.jpeg

例如,我在这里选择将最新的React v15.x与最新的v16.0.0-rc版本进行比较,以查看更改内容:

3.jpeg

该图显示了两个版本(或标记或提交引用)和实际差异之间的提交,如果更改的数量低于合理的数量。

Webhooks和服务

GitHub提供了许多有助于开发人员工作流程的功能。其中一个是webhooks,另一个是服务。

Webhooks

Webhooks允许在存储库中发生某些事件时ping外部服务,例如在推送代码,生成分支,创建或删除标记时。

当事件发生时,GitHub会向我们告诉它使用的URL发送POST请求。此功能的一个常见用法是,当我们从本地计算机推送更新时,ping远程服务器以从GitHub获取最新代码。我们推送到GitHub,GitHub告诉我们推送的服务器,服务器从GitHub拉出来。

服务

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

例如,你可以设置测试运行器,以便在每次使用TravisCI推送一些新提交时自动运行测试。

你可以使用CircleCI设置持续集成。

你可以创建一个Codeclimate集成,分析代码并提供技术不足和测试覆盖率的报告。

写在最后,GitHub是一个令人惊叹的工具和服务,可以利用当今开发者工具集中的宝藏。你用Github吗,分享出来吧!

一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

大家评论