hub(1) - 让 git 与 github 更容易合作
命令简介
- hub 
[-noop] <COMMAND> [<OPTIONS>] - hub alias 
[-s][<shell>] - hub-help - 
<COMMAND> 
DESCRIPTION
hub 是一个 Git 包装工具, 扩展与带有额外的功能,让它更好的在 GitHub 工作.
命令
可分为两组:
- 扩展: 所有这些都是在 Git 现成的,
 - 新增: hub 扩展了和 hub 提供的是 cus-.
 
扩展的 git 命令
- 
hub-am(1):从 Github 的(pull request)提交请求复制 commit 到本地.
 - 
hub-apply(1): 从 GitHub 下载补丁和本地应用.
 - 
hub-checkout(1): 签到-Checkout 提交请求的 head 作为一个本地分支.
 - 
hub-cherry-pick(1): 从 Github 的一个 Fork 选择一个 commit.
 - 
hub-clone(1):从 GitHub 克隆-clone 库.
 - 
hub-fetch(1):在执行 Git 获取之前,添加错过的 remote.
 - 
hub-init(1):初始化 Git 存储库,并向 Github 添加远程 remote.
 - 
hub-merge(1):将 一个本地带信息的提交请求合并,就像在 Github 的 Merge 按钮.
 - 
hub-push(1):将 Git 分支推到每个远程-remote 列表上.
 - 
hub-remote(1):为 Github 存储库添加 Git 远程-remote.
 - 
hub-submodule(1):为 Github 存储库添加 Git 子模块.
 
hub 提供的新命令
- 
hub-alias(1):显示用于包装 Git 的 shell 指令.
 - 
hub-browse(1):在 Web 浏览器中打开 Github 存储库.
 - 
hub-ci-status(1):显示提交-commit 的 Github 状态信息.
 - 
hub-compare(1):在 Web 浏览器中打开 Github 比较页.
 - 
hub-create(1):在 Github 上创建一个新的存储库,并为其添加 Git 远程.
 - 
hub-delete(1):删除 Github 上的存储库.
 - 
hub-fork(1):在 Github 上 Fork 当前项目,并为其添加 Git 远程.
 - 
hub-pull-request(1):创建 Github 提交请求.
 - 
hub-pr(1):列出和签到-checkout Github 提交请求.
 - 
hub-issue(1):列出和创建 Github 问题.
 - 
hub-release(1):列出,并创建 Github 版本.
 - 
hub-sync(1):从上游获取,并更新本地分支.
 
配置
GitHub OAuth 安全验证
Hub 在第一次需要访问 API 时,将按照提示输入 GitHub 用户名和密码,并将其交换为 OAuth 令牌,并将其保存在~/.config/hub中.
为了避免被提示,使用”GITHUB_USER”和”GITHUB_PASSWORD”环境变量.
或者,您可以提供”GITHUB_TOKEN”,一个访问令牌.存储库权限.这将不会写到”~/.config/hub”.
用 HTTPS 替换 git 协议
如果您更喜欢 HTTPS 协议用于 git 操作,那么您可以通过配置 hub 来生成https\:-URLs,而不是”git:”或”ssh:”:
$ git config -global hub.protocol https
这将影响”clone”、”fork”、”remote add”和其他对 GitHub 库的 URL 引用的 hub 扩展命令.
GitHub Enterprise-企业
默认情况下,hub 只与具有指向”github.com”的存储库一起工作.Github 企业主机需要用白名单配置 hub ,处理与 github.com 相同的远程服务器:
$ git config -global -add hub.host MY.GIT.ORG
诸如”init”和”clone”等命令的默认主机仍然是”github.com”,但这可受到”GITHUB_HOST”环境变量的影响:
$ GITHUB_HOST=my.git.org git clone myproject
环境变量
- 
HUB_VERBOSE: hub 命令启用 verbose 的输出. - 
HUB_CONFIG:读取和存储 hub 配置的文件路径.如果存在”XDG_CONFIG_HOME”,则默认值为”$XDG_CONFIG_HOME/hub”; 否则为”$HOME/.config/hub”.每个 XDG 基础目录规范,也可在”XDG_CONFIG_DIRS”中搜索配置文件. - 
HUB_PROTOCOL:使用其中一个”https|ssh|git” 作为 git clone/push 的首选协议. - 
GITHUB_TOKEN:用于 Github API 请求的 OAuth 令牌. 
BUGS
https://github.com/github/hub/问题
作者
https://github.com/github/hub/贡献者
更多
git(1), git-clone(1), git-remote(1), git-init(1), https://github.com/github/hub
hub-alias(1) -- 显示用于包装 Git 的 shell 指令.
命令简介
hub alias [-s][<shell>]
选项
- 
-s: 适用于”eval”的输出外壳脚本. - 
<SHELL>: 指定 shell 的类型(默认值为”$shell”环境变量). 
更多
hub-am(1) -- 从 Github 的(pull request)提交请求复制 commit 到本地.
命令简介
hub am [-3] <GITHUB-URL>
选项
- 
-3: (推荐)见 git-am(1). - 
<GITHUB-URL>:一个在 GUTHUB 上的提交请求-pull-request 或 commit 的 URL. 
例子
$ hub am -3 https://github.com/jingweno/gh/pull/55
>	curl   https://github.com/jingweno/gh/pull/55.patch    -o
/tmp/55.patch
> git am -3 /tmp/55.patch
更多
hub-apply(1), hub-cherry-pick(1), hub(1), git-am(1)
hub-apply(1) -- 从 GitHub 下载补丁和本地应用.
命令简介
hub apply <GITHUB-URL>
选项
<GITHUB-URL>:一个在 GUTHUB 上的提交请求-pull-request 或 commit 的 URL.
例子
$ hub apply https://github.com/jingweno/gh/pull/55
>	curl   https://github.com/jingweno/gh/pull/55.patch    -o
/tmp/55.patch
> git apply /tmp/55.patch
更多
hub-am(1), hub(1), git-apply(1)
hub-browse(1) -- 在 Web 浏览器中打开 Github 存储库.
命令简介
hub browse [-uc][<USER>/]<REPOSITORY>|--] [<SUBPAGE>]
选项
- 
-u: 打印 URL ,而不是打开它. - 
-c: 把 URL 放在剪贴板中,而不是打开它. - 
[<USER>/]<REPOSITORY>:默认为当前工作目录中的存储库. - 
<SUBPAGE>:”wiki”,”commits”,”issues”其中一个,或其他(默认:”tree”). 
例子
$ hub browse
> open https://github.com/REPO
$ hub browse -- issues
> open https://github.com/REPO/issues
$ hub browse jingweno/gh
> open https://github.com/jingweno/gh
$ hub browse gh wiki
> open https://github.com/USER/gh/wiki
更多
hub-checkout(1) -- 签到-Checkout 提交请求的 head 作为一个本地分支
命令简介
hub checkout <PULLREQ-URL> [<BRANCH>]
例子
$ hub checkout https://github.com/jingweno/gh/pull/73
> git fetch origin pull/73/head:jingweno-feature
> git checkout jingweno-feature
更多
hub-merge(1), hub-am(1), hub(1), git-checkout(1)
hub-cherry-pick(1) -- 从 Github 的一个 Fork 选择一个 commit
命令简介
- hub cherry-pick 
<COMMIT-URL> - hub cherry-pick 
<USER>@<SHA> 
更多
hub-am(1), hub(1), git-cherry-pick(1)
hub-ci-status(1) -- 显示提交-commit 的 Github 状态信息.
命令简介
hub ci-status [-v][\<COMMIT\>]
选项
- 
-v:打印所有状态检查和 URL 的详细报告. - 
<COMMIT>: 一个提交或分支名称(默认:”HEAD”). 
可能的输出和退出状态:
- 成功,默认:0
 - 失败,错误,行动需要,超时:1
 - 等待:2
 
更多
hub-clone(1) -- 从 GitHub 克隆-clone 库.
命令简介
hub clone [-p][<options>] [<USER>/]<REPOSITORY> [<DESTINA- TION>]
选项
- 
-p:(已弃用)克隆 SSH 的私人储存库. - 
[<USER>/]<REPOSITORY>:<USER>默认为您自己的 Github 用户名. - 
<DESTINATION>: 要克隆的目录名(默认:)  
复制时的协议
“git:”协议将用于克隆公共存储库,而 SSH 协议将用于私有存储库以及,您有访问权限的存储库.另外,hub 可以配置为使用 HTTPS 协议.参见 hub(1) 的 “HTTPS 代替 Git 协议”和”HUB_PROTOCOL”.
例子
$ hub clone rtomayko/ronn
> git clone git://github.com/rtomayko/ronn.git
更多
hub-fork(1), hub(1), git-clone(1)
hub-compare(1) -- 在 Web 浏览器中打开 Github 比较页.
命令简介
hub compare [-u][-b <base>] [<USER>][<start>...]<END>]
选项
- 
-u: 打印 URL ,而不是打开它. - 
-c --copy: 把 URL 放在剪贴板上,而不是打开它. - 
-b <BASE>: 进行比较的基础分支. - 
[<START>...]<END>:指定要比较的分支名称、标签名或提交 SHAs 的范围. 
<END>默认为当前分支名称.
如果获得的是二个点(`A..B`), 会形成一个有三个点的范围.
例子
$ hub compare refactor
> open https://github.com/USER/REPO/compare/refactor
$ hub compare v1.0..v1.1
> open https://github.com/USER/REPO/compare/v1.0...v1.1
$ hub compare -u jingweno feature
> echo https://github.com/jingweno/REPO/compare/feature
更多
hub-create(1) -- 在 Github 上创建一个新的存储库,并为其添加 Git 远程.
命令简介
hub create [-poc][-d <description>] [-h <HOMEPAGE>][<ORGANI- ZATION>/]<NAME>]
选项
- 
-p:创建一个私有存储库. - 
-d <DESCRIPTION>: 使用此文本作为 Github 存储库的说明. - 
-h <HOMEPAGE>: 使用此文本作为 Github 存储库的 URL. - 
-o, --browse:在 Web 浏览器中打开新的存储库. - 
-c ,--copy:将新存储库的 URL 放在剪贴板上,而不是打印它. - 
[<ORGANIZATION>/]<NAME>: Github 上的存储库的名称(默认值:当前工作目录的名称). 
很显然, 在<ORGANIZATION>下创建存储库.
例子
$ hub create
[ repo created on GitHub ]
> git remote add -f origin git@github.com:USER/REPO.git
$ hub create sinatra/recipes
[ repo created in GitHub organization ]
> git remote add -f origin git@github.com:sinatra/recipes.git
更多
hub-delete(1) -- 删除 Github 上的存储库.
命令简介
hub delete [-y][<organization>/]<NAME>
选项
- 
-y, --yes:跳过确认提示,并立即删除存储库. - 
[<ORGANIZATION>/]<NAME>: Github 上存储库的名称. 
例子
$ hub delete recipes
[ personal repo deleted on GitHub ]
$ hub delete sinatra/recipes
[ repo deleted in GitHub organization ]
更多
hub-fetch(1) -- 在执行 Git 获取之前,添加错过的 remote
命令简介
hub fetch <USER>[,<USER2>...]
例子
$ hub fetch --multiple jingweno mislav
> git remote add jingweno git://github.com/jingweno/REPO.git
> git remote add mislav git://github.com/mislav/REPO.git
> git fetch jingweno
> git fetch mislav
更多
hub-remote(1), hub(1), git-fetch(1)
hub-fork(1) -- 在 Github 上 Fork 当前项目,并为其添加 Git 远程.
命令简介
hub fork [--no-remote][--remote-name=<remote>] [--org=<ORGANI- ZATION>]
选项
- 
--no-remote: Fork 后跳过添加一个 Git 远程. - 
--org=<ORGANIZATION>: 在这个组织中 Fork 存储库. 
例子
$ hub fork
[ repo forked on GitHub ]
> git remote add -f USER git@github.com:USER/REPO.git
$ hub fork --org=ORGANIZATION
[ repo forked on Github into the ORGANIZATION organization]
>  git  remote  add  -f ORGANIZATION git@github.com:ORGANIZATION/REPO.git
更多
hub-help(1) -- 显示命令的帮助页
命令简介
- hub help 
hub - hub help 
<COMMAND> - hub help 
hub-<COMMAND> [--plain-text] 
选项
- 
hub-<COMMAND>: 使用此格式查看对存在的 Git 命令的 hub 扩展的帮助. - 
--plain-text: 跳过 man 页查找机制并,显示普通帮助文本. 
MAN 查看机制
在具有”man”的系统中,帮助页面安装相对于”hub”前缀,可在这些双字串中查找:
- ‘man/
.1‘  - ‘share/man/man1/
.1‘  
在没有”man”的系统中,相同的帮助页用”.txt”后缀查找.
更多
hub(1), git-help(1)
hub-init(1) -- 初始化 Git 存储库,并向 Github 添加远程 remote.
命令简介
hub init -g
选项
-g:在本地初始化存储库后,添加”origin”远程指向 Github 上的”/ “存储库. 
<USER>  是你的 GitHub 用户名, 而 <REPO>则是当前工作目录的名称.
例子
$ hub init -g
> git init
> git remote add origin git@github.com:USER/REPO.git
更多
hub-create(1), hub(1), git-init(1)
hub-issue(1) -- 列出和创建 Github 问题.
命令简介
- hub issue 
[-a <ASSIGNEE>][-c <creator>] [-@ <USER>][-s <state>] [-f <FORMAT>][-m <milestone>] [-l <LABELS>][-d <date>] [-o <SORT_KEY> [-^]][-l <limit>] - hub issue create 
[-oc][-m <message>|-f <file>] [--edit][-a <users>] [-M <MILESTONE>][-l <labels>] - hub issue labels 
[--color] 
命令
没有参数,显示一个公开问题的列表.
- 
create:打开当前项目中的一个问题.
 - 
labels:列出这个存储库中可用的标签.
 
选项
-a, --assignee <ASSIGNEE>:只显示的问题. 
打开问题时,这可以是以逗号分隔的人们分配给新的问题列表.
- 
-c, --creator <CREATOR>: 只显示的问题  - 
-@, --mentioned <USER>: 只显示问题.  - 
-s, --state <STATE>: 显示状态问题(默认:”打开”).  - 
-f, --format <FORMAT>: 格式打印提交请求列表,通过使用<FORMAT>(默认值:%sC%>(8)%i%Creset %t% l%n).请参阅 git 日志手册的”PRETTY FORMATS”部分,了解有关占位符如何以格式使用的更多细节.可用占位符是: 
%I: pull request 数量
%i: pull request 数量, 前缀是"#"
%U: pull request的URL
%S: 状态 (例如. "open", "closed")
%sC: 设置颜色 red 或 green,  取决于pull  request状态.
%t: 标题
%l: 颜色标签
%L: 原生, 逗号分隔标签
%b: 主体
%B: 基础 branch
%H: head branch
%au: 作者登录名
%as: 分配的逗号分隔列表
%Mn: 里程碑 数量
%Mt: 里程碑 标题
%NC: 评论数量
%Nc:  评论数量, 包裹进圆括号, 或 若零则是空字符串
%cD: 创建了的 仅数据 (没有一天的时间)
%cr: 创建了的 数据, 相对
%ct: 创建了的 数据, UNIX 时间戳
%cI: 创建了的 数据, ISO 8601 格式
%uD: 更新了的 仅数据 (没有一天的时间)
%ur: 更新了的 数据, 相对
%ut: 更新了的 数据, UNIX 时间戳
%uI: 更新了的 数据, ISO 8601 格式
- 
-m, --message <MESSAGE>: 使用第一行<MESSAGE>作为标题,其余的作为问题描述. - 
-F, --file <FILE>: 阅读问题标题和描述<FILE>. - 
-e, --edit: 在提交之前的文本编辑器中,进一步编辑内容<FILE>. - 
-o, --browse: 在 Web 浏览器中打开新的问题. - 
-c, --copy: 把新问题的 URL 放在剪贴板上,而不是打印它. - 
-M, --milestone <ID>: 只显示带有 GID 的 Github 里程碑的问题.  
当打开 issue, 为 issue 添加 GitHub 里程碑
-l, --labels <LABELS>: 只显示带有某些标签的问题.
当打开 issue, 添加对此标签问题的逗号列表.
- 
-d, --since <DATE>: 只显示更新后或更新后的问题采用 ISO 8601 格式.  - 
-o, --sort <SORT_KEY>: 按”created”(默认)、”updated”或”comments”排序问题. - 
-^ --sort-ascending: 按升序排序,而不是降序排序. - 
-L, --limit <LIMIT>: 只显示第一个问题.  - 
--include-pulls: 包括提交请求以及问题. - 
--color: 为标签列表启用彩色输出. 
hub-merge(1) -- 将 一个本地带信息的提交请求合并,就像在 Github 的 Merge 按钮.
命令简介
hub merge <PULLREQ-URL>
这在当前分支中创建了本地合并提交,但实际上没有改变提交请求的状态.但是,当新创建的合并提交被推送到远程存储库的默认分支时,提交请求将自动关闭并标记为”合并”.
例子
$ hub merge https://github.com/jingweno/gh/pull/73
> git fetch origin refs/pull/73/head
> git merge FETCH_HEAD --no-ff -m  "Merge  pull  request  #73
来自京文/特写…
更多
hub-checkout(1), hub(1), git-merge(1)
hub-pr(1) -- 列出和签到-checkout Github 提交请求.
命令简介
- hub pr list 
[-s <STATE>][-h <head>] [-b <BASE>]-o <SORT_KEY> [-^]] [-f <FORMAT>][-l <limit>] - hub pr checkout 
<PR-NUMBER> [<BRANCH>] 
命令
- 
list:列出当前项目中的提交请求.
 - 
checkout:在一个新的分支中检查提交请求的头部.
 
选项
- 
-s, --state <STATE>: 用过滤提交请求(默认:”打开”).  - 
-h, --head [<OWNER>:]<BRANCH>: 显示指定的首个开始的提交请求. 默认值为 从当前存储库中获取.  - 
-b, --base <BRANCH>: 显示提交请求,基于指定的.  - 
-f, --format <FORMAT>: 格式打印提交请求列表,通过使用(默认值:”%sC%>(8)%i%Creset %t% l%n”).请参阅 git 日志手册的”PRETTY FORMATS”部分,了解有关占位符如何以格式使用的更多细节.可用占位符是:  
%I: pull request 数量
%i: pull request 数量, 前缀是"#"
%U: pull request的URL
%S: 状态 (例如. "open", "closed")
%sC: 设置颜色 red 或 green,  取决于pull  request状态.
%t: 标题
%l: 颜色标签
%L: 原生, 逗号分隔标签
%b: 主体
%B: 基础 branch
%H: head branch
%au: 作者登录名
%as: 分配的逗号分隔列表
%Mn: 里程碑 数量
%Mt: 里程碑 标题
%NC: 评论数量
%Nc:  评论数量, 包裹进圆括号, 或 若零则是空字符串
%cD: 创建了的 仅数据 (没有一天的时间)
%cr: 创建了的 数据, 相对
%ct: 创建了的 数据, UNIX 时间戳
%cI: 创建了的 数据, ISO 8601 格式
%uD: 更新了的 仅数据 (没有一天的时间)
%ur: 更新了的 数据, 相对
%ut: 更新了的 数据, UNIX 时间戳
%uI: 更新了的 数据, ISO 8601 格式
- 
-o, --sort <SORT_KEY>:按”created”(默认)、”updated”、”popularity”或”long-running”排序显示 issues. - 
-^ --sort-ascending::按升序排序,而不是降序排序. - 
-L, --limit <LIMIT>:只显示第一个问题.  
更多
hub-issue(1), hub-pull-request(1), hub(1)
hub-pull-request(1) -- -创建 Github 提交请求
命令简介
- hub pull-request 
[-focp][-b <base>] [-h <HEAD>][-r <review- ers> ] [-a <ASSIGNEES>][-m <milestone>] [-l <LABELS>] - hub pull- request 
-m <MESSAGE> [--edit] - hub pull-request 
-F <FILE>[--edit] - hub pull-request 
-i <ISSUE> 
选项
- 
-f, --force: 跳过未提交 commits 的检查. - 
-m, --message <MESSAGE>: 使用第一行<MESSAGE>作为提交请求标题,其余作为提交请求描述. - 
--no-edit: 使用分支上第一次提交的消息作为提交请求标题和描述,而不是打开文本编辑器. - 
-F, --file <FILE>: 从<FILE>读取提交请求标题和描述. - 
-e, --edit: 在提交之前,进一步于文本编辑器中编辑<FILE>内容. 
- 
-i, --issue <ISSUE>, <ISSUE-URL>:(已弃用) 转换<ISSUE>到一个提交请求. - 
-o, --browse: 在 Web 浏览器中打开新的拉取请求. - 
-c, --copy: 将新提交请求的 URL 放在剪贴板上,而不是打印它. - 
-p, --push: 在创建提交请求之前,将当前分支推到<HEAD>. - 
-b, --base <BASE>: 基础分支"[OWNER:]BRANCH"格式.默认的分支(通常为”master”). - 
-h, --head <HEAD>: 首个分支"[OWNER:]BRANCH"格式.默认为当前分支. - 
-r, --reviewer <USERS>: 一个 Github 的逗号分隔列表控制, 用于查看请求的表格. - 
-a, --assign <USERS>: 一个 Github 的逗号分隔列表控制, 用于查看提交请求分配的表格. - 
-M, --milestone <NAME>: 要添加到这个提交请求的里程碑名称.里程碑号码被弃用. - 
-l, --labels <LABELS>: 在这个提交请求中添加一个逗号分隔的标签列表. 
例子
$ hub pull-request
[ 打开编辑器,编辑标题和信息 ][ 为当前分支创建pull request ]
$ hub  pull-request  --base  OWNER:master  --head  MYUSER:mybranch
[创建具有明确基础和分支的提交请求]
$ hub pull-request --browse -m "My title"
[ 创建带 title 的 pull request 和 浏览器打开]
$ hub pull-request -F - ---edit < path/to/message-template.md
[ 一定程度编辑 来自标准输入的 标题 和 信息 ]
配置
HUB_RETRY_TIMEOUT=<SECONDS>
最大时间重试若 HTTP 422 --push
(default: 9).
更多
hub(1), hub-merge(1), hub-checkout(1)
hub-push(1) -- 将 Git 分支推到每个远程-remote 列表上.
命令简介
hub push <REMOTE>[,<REMOTE2>...][<ref>]
例子
$ hub push origin,staging,qa bert_timeout
> git push origin bert_timeout
> git push staging bert_timeout
> git push qa bert_timeout
$ hub push origin
> git push origin HEAD
更多
hub(1), git-push(1)
hub-release(1) -- 列出,并创建 Github 版本.
命令简介
- hub release 
[--include-drafts][--exclude-prereleases] [-L <LIMIT>] - hub release 
show <TAG> - hub release 
create [-dpoc][-a <file>] [-m <MESSAGE>|-F <FILE>][-t <target>] <TAG> - hub release 
edit [<options>] <TAG> - hub release 
download <TAG> - hub release 
delete <TAG> 
命令
在没有参数的情况下,显示现有版本的列表.
有”--include-drafts”,会包括草案版本.使用”--exclude-prereleases”,从列表中排除非稳定版本.
- show:用
显示 Github 发行说明.  
使用”--show-downloads”,包括”下载”部分.
- 
create:用指定的
名创建 Github 版本.如果 Git 标签 不存在,它将在 创建(默认:当前分支).  - 
edit:用指定的
名编辑 Github 版本.接受创建命令相同的选项.用”--draft=false”发布草稿.  
当 <MESSAGE> 或 <FILE> 没有指定, 编辑器将开放前填充当前发行的标题和身体.重新使用现有的标题和身体不变,通过”m”.
- 
doenload:下载指定版本
的附加资产  - 
delete:删除指定
的发行版和相关资产.  
选项
- -L, --limit:
只显示第一个
- -d, --draft:
创建一个草案发布.
- -p, --prerelease:
创建预发布.
- -a, --attach <FILE>:
在这个版本中附加一个文件作为一个资产.
若 <FILE> 在 <filename>#<text> 格式, 这 text 会作为资产标签.
- -m, --message <MESSAGE>:
使用第一行<MESSAGE>作为发布标题,其余的作为发布说明.
- -F, --file <FILE>:
请阅读发布的标题和描述<FILE>.
- -e, --edit:
进一步编辑内容<FILE>在提交之前的文本编辑器中.
- -o, --browse:
在 Web 浏览器中打开新版本.
- -c, --copy:
把新版本的 URL 放在剪贴板上,而不是打印它.
- -t, --commitish <TARGET>:
一个提交 SHAN 或分支名称来附加释放,仅用于
- -f, --format <FORMAT>:
格式打印提交请求列表,通过使用
%I: pull request 数量
%i: pull request 数量, 前缀是"#"
%U: pull request的URL
%S: 状态 (例如. "open", "closed")
%sC: 设置颜色 red 或 green,  取决于pull  request状态.
%t: 标题
%l: 颜色标签
%L: 原生, 逗号分隔标签
%b: 主体
%B: 基础 branch
%H: head branch
%au: 作者登录名
%as: 分配的逗号分隔列表
%Mn: 里程碑 数量
%Mt: 里程碑 标题
%NC: 评论数量
%Nc:  评论数量, 包裹进圆括号, 或 若零则是空字符串
%cD: 创建了的 仅数据 (没有一天的时间)
%cr: 创建了的 数据, 相对
%ct: 创建了的 数据, UNIX 时间戳
%cI: 创建了的 数据, ISO 8601 格式
%uD: 更新了的 仅数据 (没有一天的时间)
%ur: 更新了的 数据, 相对
%ut: 更新了的 数据, UNIX 时间戳
%uI: 更新了的 数据, ISO 8601 格式
: 这个版本的 Git 标签名. 
更多
hub(1), git-tag(1)
hub-remote(1) -- 为 Github 存储库添加 Git 远程-remote.
命令简介
- hub remote add  
[-p][<options>] <USER>[/<REPOSITORY>] - hub remote set-url  
[-p][<options>] <NAME> <USER>[/<REPOSITORY>] 
选项
- 
-p:(已弃用)) 使用”SSH:”协议.远程 URL - 
<USER>[/<REPOSITORY>]: 如果<USER>是”origin”,那个值将是你的 Github 用户名.<REPOSITORY>默认为当前工作目录的名称. 
例子
$ hub remote add jingweno
> git remote add jingweno git://github.com/jingweno/REPO.git
$ hub remote add origin
> git remote add origin git://github.com/USER/REPO.git
更多
hub-fork(1), hub(1), git-remote(1)
hub-submodule(1) -- 为 Github 存储库添加 Git 子模块.
命令简介
hub submodule add [-p][<options>] [<USER>/]<REPOSITORY> <DES- TINATION>
例子
$ hub submodule add jingweno/gh vendor/gh
>  git  submodule  add  git://github.com/jingweno/gh.git vendor/gh
vendor/gn
更多
hub-remote(1), hub(1), git-submodule(1)
hub-sync(1) -- 从上游获取,并更新本地分支.
命令简介
hub sync
- 如果本地分支过时,则快速运转;
 - 如果本地分支包含未推送的工作,则警告它;
 - 如果分支似乎合并,其上游分支被删除,则删除它.
 
如果本地分支没有任何上游配置,但是在远程上具有相同的命名分支,则将其视为其上游分支.
更多
hub(1), git-fetch(1)