文章转载自:http://blog.csdn.net/loadsong/article/details/51591701

Github 上的每个项目仓库,都有三套基础设置可供使用:一个是通过 Github Pages 机制建立项目网站,后面会介绍的。另外一个就是每个项目都可以开自己的 wiki ,作为项目的知识库。第三个就是咱们今天的主角,事务卡片( Issues )。很多比较复杂的项目管理软件会把“报 Bug ”,“提新需求”,“其他讨论”,这些项目相关的内容分成不同的板块来进行,在 Github 这里,所有的内容就都作为事务卡片来统一管理了。

基本使用

比较详细的 Issues 功能介绍,可以参考官方的 Issue
指南
,今天咱们这里会捡着一些重要的来说。在 How
Github Use Github To Build Github
 这个演讲中有 Issues 的使用哲学的一些讨论,非常有启发性的。

到项目主页,例如 http://github.com/happypeter/coco 页面上,如何来提一个 Issue 呢?

上面图中,点击项目主页右侧的 Issues 链接,打开的页面中的大大的绿按钮就是新建 Issue 按钮,点一下就可以看到下图所示的界面

如上图,是一个简单到不能再简单的页面,但是很多时候简单的确意味着更加的灵活和强大。1处添加标题,2处详细描述一下,要加图片?点一下3处的链接就行了。

另外,对于开源项目,任何人都有权利提 Issue 的,有时候我有问题需要跟项目拥有者沟通,就可以提一个 Issue 。

支持 Markdown 语法

在新建 Issue 的界面上可以看到 Markdown Supported (支持 Markdown)的链接,点开,可以看到一篇详细的 Markdown 介绍文档。

Markdown 是一种标记性语言,通过很简单的标注就可以表示出文本的格式,这样在评论框中写 markdown ,点发布评论按钮就可以转换成美观的 html 来显示了。下面来演示一下它的主要几个功能 。

可以用 # text 来把 text 变成一级标题,也就是 h1 格式。用 **text** 表示粗体。*text* 表示斜体。

引用内容用 > 打头就可以了,如下

> 失败只有一种就是半途而废。

无序列表用

* 第一项
* 第二项
* 第三项

也可以来插入代码块,支持语法高亮。例如,可以像下面这样为 HTML 代码添加语法高亮:

```html
<!DOCTYPE html>
<html>
<head>
<title>hello</title>
</head>
<body>
<a href="index.html">HOME</a>
</body>
</html>
```

发布后显示效果如下:

另外也可以插入图片和链接等其他格式。

Issue 中的一些其他小技巧

还有几个小技巧也非常的能提高工作效率。

第一个,快速引用。Issue 这里是没有 reply 按钮的,如果你想回答具体某个问题,可以用鼠标选中那段话,然后,敲 r 。 这样这段话就自动出现在你的评论框中了。

第二个,拉别人进来讨论。如果你在评论框中输入 @happypeter 那么不管我是不是你当然项目的参与者,我都会收到通知来进来参加讨论。实际中发现这个用的是非常的多。

第三个,用版本留言关闭 Issue。如果有人给我的项目提了个 Bug,在一个编号为20的 Issue (后面简写为 Issue#20) 里。那我写几行代码修复这个 Bug 之后,在客户端作版本时,只要在版本留言里面写 fix #20 这样的字样,这个版本同步到 Github 上之后,这个 Issue#20
就自动关闭了。

第四个,如果我在当前 Issue#10 的评论框中写 #20 就可以自动链接到 Issue#20 了。同时 Issue#20 那边也会显示出 Issue#10 。这种指向和关联的功能在实用中是非常重要的。

另外,Issue 上也可以添加标签,设置 milestone,并且把任务布置给一个特定的开发者。

总结

前面咱们用过很多 Pull Request 的功能了,其实一个 PR 和一个 Issue 在很多方面都是一样的,所以 Issue 这里介绍的大部分功能都可以在 PR 讨论中使用。另外,Issue 中一般是放一些临时性的讨论,最终是要被关掉的。如果 Issue 里面有一些精华的内容,可以拷贝出来贴到 wiki 中,方便大家查阅。

[GitHub]第七讲:GitHub issues的更多相关文章

  1. [GitHub]第八讲:GitHub Pages

    Github Pages 是 github 公司提供的免费的静态网站托管服务,用起来方便而且功能强大,不仅没有空间限制,还可以绑定自己的域名.在 https://pages.github.com/ 首 ...

  2. GitHub详解(GitHub for Windows)

    GitHub详解 GitHub 是一个共享虚拟主机服务,用于存放使用Git版本控制的软件代码和内容项目.它由GitHub公司(曾称Logical Awesome)的开发者Chris Wanstrath ...

  3. 基于github for windows&amp;github的团队协作基本操作

    首先,我们要在github上团队协作.先要建立一个team.这个自行百度,在github上操作就是. 点击打开链接 这是我的有道文章(假设看不到图片的话) 今天主要讲的是怎么操作github for ...

  4. Stanford机器学习---第七讲. 机器学习系统设计

    原文:http://blog.csdn.net/abcjennifer/article/details/7834256 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...

  5. 《ArcGIS Engine+C#实例开发教程》第七讲 图层符号选择器的实现2

    原文:<ArcGIS Engine+C#实例开发教程>第七讲 图层符号选择器的实现2 摘要:在第七讲 图层符号选择器的实现的第一阶段中,我们完成了符号选择器窗体的创建与调用.在第二阶段中, ...

  6. [个人翻译]GitHub指导文件(GitHub Guides[Hello World])

    [个人翻译]GitHub指导文件(GitHub Guides[Hello World]) Mirage_j个人翻译,欢迎转载,最好标明出处http://www.cnblogs.com/mirageJ/ ...

  7. PE格式第七讲,重定位表

    PE格式第七讲,重定位表 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) 一丶何为重定位(注意,不是重定位表格) 首先, ...

  8. python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍

    目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...

  9. Linux基础知识第七讲,用户权限以及用户操作命令

    目录 Linux基础知识第七讲,用户权限以及用户操作命令 一丶简介linux用户,用户权限,组的概念. 1.1 基本概念 1.2 组 1.3 ls命令查看权限. 二丶用户权限修改命令 1.chmod ...

随机推荐

  1. VS2012中C++,#include无法打开自己所写的头文件(.h)

    最近刚开始学cocos2d-x,创建项目之后,自己按照<cocos2d-x 3.x 游戏开发>的教程写代码 先写了一个头文件  MyHelloWorldScene.h 然后在  AppDe ...

  2. swift 初始化

    知识点总结: 1.结构体 1.1.默认初始化方法:1.空初始化方法:2.成员初始化方法 struct Person{ var name = "tom" var age = } le ...

  3. 浅谈Trie树(字典树)

          Trie树(字典树) 一.引入 字典是干啥的?查找字的. 字典树自然也是起查找作用的.查找的是啥?单词. 看以下几个题: 1.给出n个单词和m个询问,每次询问一个单词,回答这个单词是否在单 ...

  4. Mysql B-Tree, B+Tree, B*树介绍

    [摘要] 最近在看Mysql的存储引擎中索引的优化,神马是索引,支持啥索引.全是浮云,目前Mysql的MyISAM和InnoDB都支持B-Tree索引,InnoDB还支持B+Tree索引,Memory ...

  5. 007.Adding a view to an ASP.NET Core MVC app -- 【在asp.net core mvc中添加视图】

    Adding a view to an ASP.NET Core MVC app 在asp.net core mvc中添加视图 2017-3-4 7 分钟阅读时长 本文内容 1.Changing vi ...

  6. python学习之路基础篇(第四篇)

    一.课程内容回顾 1.python基础 2.基本数据类型  (str|list|dict|tuple) 3.将字符串“老男人”转换成utf-8 s = "老男人" ret = by ...

  7. Node.js Buffer(缓冲区)

    JavaScript 语言自身只有字符串数据类型,没有二进制数据类型. 但在处理像TCP流或文件流时,必须使用到二进制数据.因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门 ...

  8. Docker 编辑网络配置文件

    Docker 1.2.0 开始支持在运行中的容器里编辑 /etc/hosts, /etc/hostname 和 /etc/resolve.conf 文件. 但是这些修改是临时的,只在运行的容器中保留, ...

  9. Do a web framework ourselves

    step 1: from wsgiref.simple_server import make_server def application(environ, start_response): star ...

  10. Android简易实战教程--第四十一话《vitamio网络收音机》

    在Android初级教程专栏里面,介绍了Android原生的VideoView和vitamio框架Android视频媒体相关,VideoView和开源框架vitamio.并演示了播放网络视频的对应的D ...