全球最大的开源项目管理基地 GitHub 的魅力

一、GitHub 简介

GitHub是一个利用Git进行版本控制、专门用于存放软件代码与内容的共享虚拟主机服务。它由GitHub公司(曾称Logical Awesome)的开发者Chris Wanstrath、PJ Hyett和Tom Preston-Werner使用Ruby on Rails编写而成。官方地址:https://github.com/
在这里插入图片描述
GitHub的魅力:

  • Repo:项目,绝大多数的开源项目都会放在github上,包括Linus Torvalds参与的linux内核,基于repo可以提issue,可以review code,可以有wiki,branch,tag等等都支持,还可以star和fork这样的repo。
  • Explore:基于兴趣显示了一些开源项目。
  • Topics:按照主题显示的一些项目,可以选择某个主题继续观察。
  • Trending:流行repo,可以选择语言和周期来显示。
  • Events:显示GitHub官方的一些活动。

如何搜索高质量的开源项目? 搜索的方法: 关键字。例如:

  • stars:> 1000。
  • fork:>100。
  • 语言: java html等。
    在这里插入图片描述

二、如何加入GitHub?

  1. 登录官网https://github.com/ 注册GitHub账号。
    在这里插入图片描述
  2. 注册好账户后 添加ssh key
    git config --global user.name Lion
    git config --global user.email Lion@email.com
    ssh-keygen -t rsa
    
    在这里插入图片描述
  3. 下载开源的项目。比如有这样一个代码仓库:https://github.com/torvalds/linuxclone 代码:git clone https://github.com/torvalds/linux.git。其中,star 就是关注该repofork就是克隆一个副本仓库。在这里插入图片描述
  4. 创建repo:回到主页https://github.com/,然后再右上角的+号里有个“New repository”创建repo。使用issue管理项目的缺陷,也可以有wiki,还可以review code等等,接下来会有详细介绍。在这里插入图片描述

三、参与开源项目

每个开源项目通常会有一个社区维护,由不同角色(正规或非正规)的其他用户组成:

  • 所有者(Owner):即创建该项目且在他们Github账户上有该项目的用户或组织。
  • 维护者和协作者(Maintainers and Collaborators): 致力于一个项目并促进该项目发展的用户。通常所有者和维护者是同一个用户或组织,他们对项目库都有写的权限。
  • 贡献者(Contributors):每一个对该项目发出过pull request并合并到项目中的用户都是贡献者。
  • 社区成员(Community Members):即那些经常使用且非常关心该项目的用户,他们在讨论功能特征和pull request上非常活跃。

README.md提供了该项目的一个概览及关于如何使用、构建甚至如何贡献于一个项目的相关细节。比如:https://github.com/Tencent/TSW

doc and wiki:一般的项目的设计文档都会放在doc目录下。

关于License

  1. 想要一个简单宽松的许可证,建议: MIT许可证。这是一个宽松的、简明扼要的许可证,只要用户在项目副本中包含了版权声明和许可声明,他们就可以拿你的代码做任何想做的事情,你也无需承担任何责任。使用该许可证的项目:jQuery、Rails
  2. 比较关心专利,建议: Apache许可证。这类似于MIT许可证,但它同时还包含了贡献者向用户提供专利授权相关的条款。使用该许可证的项目:Apache、SVN 和 NuGet
  3. 关心项目的共享改进,建议:GPL( V2或 V3)许可证。这是一种copyleft许可证,要求修改项目代码的用户再次分发源码或二进制代码时,必须公布他的相关修改。V3版本与V2类似,但其进一步约束了在某些限制软件更改的硬件上的使用范围。使用该许可证的项目:Linux、Git
  4. 开源项目不是代码,建议: Creative Commons。这是一个相对宽松的版权协议。它只保留几种了权利(some rights reserved)。使用者可以明确知道所有者的权利,不容易侵犯对方的版权,作品可以得到有效传播。作为作者,你可以选择以下1~4种权利组合:
    • 署名(Attribution,简写为BY):必须提到原作者。
    • 非商业用途(Noncommercial,简写为NC):不得用于盈利性目的。
    • 禁止演绎(No Derivative Works,简写为ND):不得修改原作品, 不得再创作。
    • 相同方式共享(Share Alike,简写为SA):允许修改原作品,但必须使用相同的许可证发布。
  5. 更多选择:Licenses - ChooseALicense.com,这里提供了Apache/ GPL/ MIT/ Artistic/ Eclipse/ BSD/ LGPL/ Mozilla/ No License/ Public Domain Dedication协议的适用情形、许可内容、禁止内容,及协议全文。

GitHub 的 Issue 功能是一个强大的工具,用于跟踪和管理项目中的任务、错误、功能请求和其他讨论。每个 Issue 可以包含标题、描述、标签、优先级和指派给特定的团队成员。用户可以通过评论来讨论和更新问题,并且可以将 Issues 关联到特定的提交、拉取请求(Pull Requests)和项目(Projects)。这一功能使团队能够有条不紊地管理开发进度,协调工作,并跟踪项目的整体健康状况。在这里插入图片描述

Fork 是 GitHub 提供的一种功能,允许用户复制一个已有的仓库到自己的账户中。被Fork的仓库成为一个个人的副本,用户可以在自己的副本上自由地进行各种修改,添加新的功能或修复bug,而原始仓库的维护者并不会受到影响。用途:

  • 便于用户进行试验和开发。
  • 在开源项目中,这是常用的贡献方式。

Pull Request(PR) 是向原始仓库的维护者请求合并自己在 Fork 后所做的更改的方式。在创建 PR 时,用户可以添加描述,解释所做的更改,以及为什么需要这些更改。其他开发者可以在 PR 中进行讨论、评论和审查代码。用途:

  • 用于协同协作,代码审查。
  • 维护者可以查看、测试并决定是否将更改合并到主仓库。

Merge Request(MR) 是 GitLab 等其他平台上使用的类似概念,但在 GitHub 中,它通常是指 Pull Request 的同义词。在 GitHub 上,创建 Pull Request 就是相当于发起了一个合并请求。用途:

  • 促进团队成员之间的代码交流和集成。
  • 助于版本控制,提高代码质量。

四、如何保证团队开发质量?

ZenHub 是一个 GitHub 的扩展工具,主要用于项目管理和团队协作。它在 GitHub 的界面上直接集成了看板(Kanban)、进度跟踪和工作流自动化功能,使团队能够更有效地管理开发任务和跟踪项目进度。ZenHub 提供了可视化的工作流视图、任务优先级管理、报告功能等,旨在帮助团队提升效率并保持项目的组织性。

ZenHub也是唯一 一个在GitHub用户界面内本机集成的项目管理工具。没有长时间的入职。没有配置问题。没有单独的登录。开发人员呆在他们喜欢的环境中,项目经理可以全面了解开发过程。

  1. 首先注册一个zenhubhttps://zenhub.com/web,使用github账号注册。
  2. 安装chromezenhub插件:https://chrome.google.com/webstore/detail/zenhub-for-github/ogcgkffhplmphkaahpmffcafajaocjbd在这里插入图片描述
    其他的可用工具:
  • TravisCI:https://github.com/apache/thrift/blob/master/.travis.yml在这里插入图片描述
  • Reviewable:https://reviewable.io在这里插入图片描述
  • maillist:https://groups.google.com/forum在这里插入图片描述

五、总结

在当今数字化时代,开源项目管理平台的影响力日益增强,其中GitHub作为全球最大最活跃的平台,正在引领着技术创新和协作的浪潮。

GitHub的成功源自其强大的功能、完善的社区支持以及开放的合作模式。其直观的用户界面和强大的版本控制系统,使得团队协作变得高效简单。同时,GitHub的社交功能也促进了开发者之间的交流与合作,增强了开源项目。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lion Long

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值