Another RayJune

如何用 Github 进行团队开发

应软件工程 THU 张老师写的课程作业。
Hope it work for you~ :>

写作背景

教授软件工程课的张老师要求我们在下一节课上以小组为单位展示如何使用一个『团队合作软件』。
自己选择了展示 Github。

正文

大家好,我来演示的团队合作软件是 Github。可能很多同学听过它,但对具体的用法不是非常了解。我们今天一起来看看用 Github 如何进行团队合作。

是什么

首先来看一下它是什么。

维基百科上是这样说的:

GitHub 是一个通过 Git 进行版本控制的软件源代码托管服务公司。
里面的项目可以通过标准的 Git 命令进行访问和操作。同时,所有的 Git 命令都可以用到 GitHub 项目上面。
用户可以通过复刻他人项目的形式参与开发,并可通过 Collaboration graph(协作示意图)来查看有多少开发者参与了开发并追踪最新的复刻版本。
GitHub 同时允许注册用户和非注册用户在网页中浏览项目,也可以以 ZIP 格式打包下载。但是用户必须注册一个账号然后才能进行讨论、创建并编辑项目、参与他人的项目和代码审查。

我们可以把它总结为:它是一个良好的、支持多人合作代码编辑、基于 Git 的代码托管服务平台

怎么用

Github 大致有三种使用方式,但是不管怎么用,我们都需要注册一个 Github 帐号(此处省略一些过程,注册,你懂的)。

三种使用方式分别为:

  • Web:Web 端使用
  • Desktop:Mac/Windows/Linux 客户端使用
  • CLI:命令行使用(需要掌握 git 的操作)

选择用哪种方式依据自己的个人习惯就好了。为了方便(为了隐藏实力,你懂的),这里我们主要展示使用 Web 端 + 客户端的方式。

团队合作

Github 支持多种方式的团队合作。但无论是哪个方式,都包括仓库以及提交这两个重点名词。

仓库 (repository):

在建立仓库的时候你可以选择建立一个公开的仓库(免费)还是私有的仓库(收费,一个月 7 美刀)。

如果是公开的仓库,意味着你的代码也会被别人看到,这个时候需要声明一下你的代码采取的使用许可说明 (license)。我们在这里选择简单的 MIT 协议。

提交 (commit):

每次对原来代码的修改,提交之后就会被记录到版本修改历史中。在 Github 上可以查询提交历史,如提交了哪部分的代码,和原来的代码有什么不一样,谁提交的,什么时间提交的等。

合作方式

  1. 建立一个组织
    你可以在 Github 中建立一个组织,如 fjnu++。
    然后在组织中添加你的合作小伙伴。在组织中添加项目,这样你就可以和同伴一起愉快的合作编程了。
  2. 添加成员
    第二种方式你可以不建立一个组织,直接新建一个代码仓库,然后添加你的合作成员即可。
  3. 更高权限的审批
    假如你是团队 Leader,有审核手下程序员代码是否合格的权利,可以选择这种更高权限的审批方法。
    即你自己建立一个代码仓库,成员只有你自己。其他手下的程序员如果代码写好了,让他们给你的代码发一份 Pull Request,经过你审核之后。合并到代码仓库里,这样就完成了更高权限版的团队合作开发。
  4. 更安全的提交
    当然,以上三种方式还可以有一个升级版的提交,就是新建一个代码分支(branch)。你不确定的代码可以通过 Pull Request 或者建立一个新的测试代码分支出来。

讨论

利用 Issues 来进行对于项目的讨论。

后话

看到 blog、知乎上也有很多人在吐槽部分大学里的老师比较『封闭』,具体体现在对外界 IT 知识变化的漠视,不积极的学习、接受新的知识。

对此自己也表示深以为然。但我觉得这不是我们作为学生不接触外界新鲜知识的借口。

就如同『好的程序员都是野生的』,几乎在任何领域,一个出色的人都应该拥有良好的『自学能力』和『开眼看世界』的习惯。

大学里的老师不用 Github ,这不足为奇(也不足以黑)。作为学生的你还不知道 Github 不会用 Github ,是不应该滴。

文章标题:如何用 Github 进行团队开发

文章作者:RayJune

时间地点:下午 3:36 分,于又玄图书馆

原始链接:http://rayjune.xyz/2017/06/05/How-to-use-github-to-team-development/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。