阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

GitHub简介、仓库的创建与维护

198次阅读
没有评论

共计 1547 个字符,预计需要花费 4 分钟才能阅读完成。

前面的文章介绍了 Git 的基本概念和用法,本文则是基于 GitHub 的一个实践介绍,主要内容有:

  • GitHub 简介
  • 个人与组织
  • 仓库的创建与维护
  • Fork 与 pull request
  • 小结

GitHub 简介

GitHub 是一个 Git 的远程代码托管平台,它除了提供代码托管外,还提供了如问题发布、pull request、报表统计等功能,下图为 EFCore 项目的贡献者统计信息:

GitHub 简介、仓库的创建与维护

GitHub 提供了一整套远程协作的解决方案,所以是开源项目的首选平台,许多知名项目都托管在 GitHub 上。
GitHub 可以免费的创建自己的开源代码仓库,同时有付费服务,如私有仓库、GitHub 的企业解决方案等。

个人与组织

GitHub 中提供了个人仓库和组织仓库,分别适合个人开源项目以及组织开源项目。
个人仓库主页:

GitHub 简介、仓库的创建与维护

组织仓库首页:

GitHub 简介、仓库的创建与维护

创建组织:

GitHub 简介、仓库的创建与维护

填写组织信息:

GitHub 简介、仓库的创建与维护

仓库的创建与维护

1. 创建一个仓库(个人和团队仓库创建类似,下图是团队仓库)

GitHub 简介、仓库的创建与维护

2. 仓库的维护:
针对每一个仓库,GitHub 提供了代码管理 (Code)、问题管理(Issues)、拉请求(Pull Request)、项目管理(Projects)、百科(Wiki)、统计(Insights)、仓库设置(Settings) 功能,通过这些功能可以对代码仓库进行维护:

GitHub 简介、仓库的创建与维护

Fork 与 Pull request

Fork 和 Pull request 是 GitHub 上完成代码共享的核心功能,下面就介绍如何使用 Fork 和 Pull Request 完成代码贡献:
1. 将贡献目标仓库 Fork 到自己的仓库中:

GitHub 简介、仓库的创建与维护

GitHub 简介、仓库的创建与维护

2. 获取 Fork 后的仓库,获取并对代码进行修改最后推送到远程分支(直接使用 master 分支):

GitHub 简介、仓库的创建与维护

修改代码后将修改的内容推到远程仓库:

GitHub 简介、仓库的创建与维护

注:更多使用 Git 的内容参考:《好代码是管出来的——使用 Git 来管理源代码》以及《好代码是管出来的——Git 的分支工作流与 Pull Request》。

3. 发起 Pull Request:

GitHub 简介、仓库的创建与维护

创建新的 pull request 将会显示以下信息(代码由 SelimTeam 仓库合并到 yqszt 的仓库、代码是可合并的以及代码差异信息):

GitHub 简介、仓库的创建与维护

当点击“Create Pull Request”按钮后,该请求将会被创建。

4. 处理 Pull Request:
yqszt/MyBlog 库拥有者,可以在 pull request 选项卡中看到相应的信息并进行合并:

GitHub 简介、仓库的创建与维护

文件差异:

GitHub 简介、仓库的创建与维护

合并 Pull Request:

GitHub 简介、仓库的创建与维护

合并结果:

GitHub 简介、仓库的创建与维护

GitHub 简介、仓库的创建与维护

小结

本文介绍了如何使用 GitHub 来个人 / 团队代码仓库,对于一个 GitHub 仓库来说除了提供基础的代码版本管理功能以外还提供了问题管理、项目管理、百科、拉请求、数据统计等功能,仓库的拥有者 (开发者) 可以使用 GitHub 进行项目管理、代码管理,还可以将相关知识通过百科进行发布,以便于项目的受益者、贡献者能够快速获得项目信息,而贡献者除了可以通过 Wiki 获取信息外,还可以 Issue、Pull Request 对项目提出疑问或进行贡献,拥有者和贡献者所有的沟通都可以通过 Github 来完成。
另外 Github 的 fork 与 pull request 实际上就是上一篇文章中提到的“集成管理者工作流”的实现,其中在对 pull request 的代码进行合并时,实际上还强制进行了代码审查,这种工作流模式即适合本地的开发团队,也适合开发人员来自世界各地的开源项目。
从这些方面看来 Github 不再是一个简单的 Git 远程仓库托管平台,而是一个 分布式的软件开发管理 解决方案

PS:Github 被微软收购,今后 Github 又会与.Net 生态圈擦出什么样的火花?拭目以待。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1547字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中