什麽是 Github? 开发人员不能不知道的协同合作平台

本篇文章同步发布於个人部落格 (後续更新皆会以部落格为主):
什麽是 Github?


本系列文章会以下列 6 个主轴,逐一介绍 GitHub 平台

https://ithelp.ithome.com.tw/upload/images/20210903/20091494oTHV4eDHqO.jpg


Github 是一个透过协同合作方式的软件开发平台,它提供了问题讨论、版本控管、持续整合与持续部属…等功能,让团队成员以撰写程序或文件进而帮助人们解决问题。您可以在上面的开源专案给予建议、举报错误、提出问题或提供解决方法,贡献心力给开源专案,协助有需要的人们解决他们的问题。

在 Github 上有数不清的开源专案与程序码范例,对於软件开发世界贡献甚钜。自己常常透过 GitHub 观摩别人的专案以增进自己的技术能力,也期许自己能多些贡献於开源专案

GitHub 也提供一个轻量级、以分支为基础的工作流程 - Github workflow,主要用来支援定期更新的团队或专案。主要整体流程如下:

https://ithelp.ithome.com.tw/upload/images/20210901/20091494ssNvBGUdZj.png

  1. 建立 Branch
  2. 加入 Commit
  3. 开启 Pull Request (向开源专案提交贡献的方法)
  4. Code Review
  5. 合并前部署 (确认可以正常运作)
  6. Merge

无论是公开或您的私有的专案,你皆可以 Forks 或 Create Branch 来修改程序码内容,透过 Pull Request 机制与团队成员进行讨论,通过审核後即可合并 Main Branch,达到修复问题或更新功能的目的。所有的讨论皆会在历史纪录,除了提供团队成员审阅,也可以让有兴趣或有相同问题的朋友参考。


GitHub 主要提供的功能如下,若您是一位 Github 使用者,应该对下列所列功能不陌生;若您是第一次使用,别担心,後续文章将建立一个新的储存库 (repository),逐一地使用并介绍这些功能。

  • Issues
  • Discussions
  • Pull requests
  • Notifications
  • Labels
  • Actions
  • Forks
  • Projects
  • Security

基本使用 Github 是不需费用,除了有额外的需求,可以付费取得更多功能,费用如下图所示:
官方价格连结

https://ithelp.ithome.com.tw/upload/images/20210901/200914945a5MxScgF1.png

由上图可以看到,在免费方案中,可以无限制数量的 public 与 private repositories、2000 分钟自动化时数 (公开专案免费)、500 MB Package storage (公开专案免费)...等,可以说是非常的佛心,远胜於许多家的 CI/CD 工具,对於一般开发人员来说,已经足够使用。

若您相当注重安全性与 Pull Reuqest 的品质,每个月约 4美金,即可享有分支保护、在 pull request 多个审阅者、Page 与 wiki 等功能,这些强化功能可以大幅提升你的专案品质。对於企业用户,理所当然也依据企业需求,也提供更多安全性的功能。


建议您可以申请一个 Github 帐号:点选 GitHub 网站,点选右上 Sign Up 按钮,随着酷炫的介面开始注册吧(仅提供参考图,後续流程不赘述,请自行依据画面指引注册)

建议您注册後,开启 MFA 机制以强化你的帐号安全 (後续文章会提到如何启用 MFA 机制)

https://ithelp.ithome.com.tw/upload/images/20210901/20091494P2jbDqawQY.png

https://ithelp.ithome.com.tw/upload/images/20210901/20091494MnwVLGukG2.png

完成了注册,点选右上角图旁的下拉按钮,点选 your profile,即可看见本身相关资讯。

https://ithelp.ithome.com.tw/upload/images/20210901/20091494ibDeyHAbZs.png

你可以点选左边 Edit Profile,输入个人资讯与换上照片,让你的帐号更完整

https://ithelp.ithome.com.tw/upload/images/20210901/20091494AuMUH8wEuv.png


经过这篇文章,你应该了解

  1. GitHub 是一个透过协同合作方式的软件开发平台
  2. 提供轻量级的工作流程 GitHub workfolw
  3. GitHub 提供那些功能
  4. 收费机制与相对应的功能
  5. 注册 GitHub 帐号
  6. 编辑个人基本资料

接下来,在下一篇文章会开始介绍 GitHub 操作介面...


<<:  【Day01】JavaScript 是如何运行的

>>:  Day 1 - 课程大纲

Day 12: 人工神经网路初探 深度学习

深度学习 深度学习是多层人工精神网路或多层感知器的另一种称呼,还有多种不同型态的深度学习系统,根据神...

day2 CCNA -2 what is router (雷)硬体也要分 license

来部落格看图文并茂文章 补觉鸣诗 那时对 cisco Router 的认识 大概就是 layer 3...

Day20 ( 中级 ) 依序点灯 ( 座标 )

依序点灯 ( 座标 ) 教学原文参考:依序点灯 ( 座标 ) 这篇文章会介绍如何使用「点亮」、「计次...

Multidimensional Scaling(MDS)

今天想来谈谈一个把高维度资料可视化的应用:MDS,MDS是一种unsupervised machin...

[GAS] GAS 应用服务器的启动与 demos.html

GAS 全称为Genero Application Server,是一个将Genero应用程序与网页...