Skip to content

Github issue是做什么的? #1

Description

@zhangyazhong

GitHub 的 issue 功能,对个人而言,就如同 TODO list 。

你可以把所有想要在下一步完成的工作,如 feature 添加、bug 修复等,都写成一个个的 issue ,放在上面。既可以作为提醒,也可以统一管理。
另外,每一次 commit 都可以选择性的与某个 issue 关联。比如在 message 中添加 #n,就可以与第 n 个 issue 进行关联。

commit message title, #1

这个提交会作为一个 comment ,出现在编号为1的 issue 记录中。
如果添加:
fix #n
fixes #n
fixed #n
close #n
closes #n
closed #n
比如

commit message title, fix #n

则可以自动关闭第 n 个 issue 。

issue 可以有额外的属性:
Labels,标签。包括 enhancement、bug、invalid 等,表示 issue 的类型,解决的方式。
Milestone,里程碑。通常用来做版本管理,v0.1、v1.0之类的,也可以是任意自定义字符串。一个里程碑对应的所有 issue 都被关闭后,这个里程碑会被自动认为已经达成。
Assignee,责任人。指定这个 issue 由谁负责来解决。

充分利用这些功能,让每一个 commit 的意义更加明确,可以起到了良好的过程管理作用,使得这个 Git 库的项目进度更加显然。而且,这也是项目后期,写文档的绝佳素材。

对团队而言,这就是一个协作系统

现在,很多大公司的软件研发团队协作,都是通过 JIRA 来实现的。
目前也流行很多非代码的团队协作,比如 teambition、http://Tower.im、Worktile、trello 等。
其实,GitHub 的 issue ,就是一个轻量级协作系统。它的 comment 支持 GitHub Flavored Markdown,可以进行内容丰富的交流。Git 本身就是分布式的代码版本控制软件,是为了程序员的协作而设计的。而 issue 的 Assignee 功能,就是这个在线协作系统的核心,足以让一群线上的开发者,一起完成一个软件项目。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions