GitHub 实战技巧

GitHub 快捷键巧用

1、关于键盘快捷键

在 GitHub 中输入 ? 可弹出一个对话框,列出可用于该页面的键盘快捷键。 您可以使用这些键盘快捷键对站点执行操作,而无需使用鼠标导航。

您可以在辅助功能设置中禁用字符键快捷键,同时仍允许使用修饰键的快捷键。 更多信息请参阅 “管理辅助功能设置”。

下面是一些可用键盘快捷键的列表。

GitHub 命令面板 还可让您快速访问各种操作,而无需记住键盘快捷键。 更多信息请参阅 “GitHub 命令面板”。

2、站点快捷键

键盘快捷键 描述
S 或 / 聚焦于搜索栏。 更多信息请参阅 “关于在 GitHub 上搜索”。
G N 转到您的通知。 更多信息请参阅 “关于通知”。
Esc 当聚焦于用户、议题或拉取请求悬停卡时,关闭悬停卡并重新聚焦于悬停卡所在的元素

Command + K(Mac)或 Ctrl + K(Windows/Linux)| 打开 GitHub 命令面板。 如果要编辑 Markdown 文本,请使用 Command + Option + K 或 Ctrl + Alt + K 打开命令面板。 更多信息请参阅 “GitHub 命令面板”。

3、存储库

键盘快捷键 描述
G C 转到 Code(代码)选项卡
G I 转到 Issues(议题)选项卡。 更多信息请参阅 “关于议题”。
G P 转到 Pull requests(拉取请求)选项卡。 更多信息请参阅 “关于拉取请求”。
G A 转到 Actions(操作)选项卡。 更多信息请参阅 “关于 Actions”。
G B 转到 Projects(项目)选项卡。 更多信息请参阅 “关于项目板”。
G W 转到 Wiki 选项卡。 更多信息请参阅 “关于 wiki”。
G G 转到 Discussions(讨论)选项卡。 更多信息请参阅 “关于讨论”。

4、源代码编辑

键盘快捷键 描述
. 基于 Web 编辑器中打开存储库或拉取请求。更多请参阅 “基于 Web 的编辑器
Command + B(Mac)或 Ctrl + B(Windows/Linux) 插入 Markdown 格式用于粗体文本
Command + I(Mac)或 Ctrl + I(Windows/Linux) 插入 Markdown 格式用于斜体文本
Command + K(Mac)或 Ctrl + K(Windows/Linux) 插入 Markdown 格式以创建链接
Command + Shift + 7(Mac)或 Ctrl + Shift + 7(Windows/Linux) 为有序列表插入 Markdown 格式
Command + Shift + 8(Mac)或 Ctrl + Shift + 8(Windows/Linux) 为无序列表插入 Markdown 格式
Command + Shift + .(Mac)或 Ctrl + Shift + .(Windows/Linux) 为报价插入 Markdown 格式
E 在 **Edit file(编辑文件)**选项卡中打开源代码文件
Command + F(Mac)或 Ctrl + F(Windows/Linux) 开始在文件编辑器中搜索
Command + G(Mac)或 Ctrl + G(Windows/Linux) 查找下一个
Command + Shift + G(Mac)或 Ctrl + Shift + G(Windows/Linux) 查找上一个
Command + Option + F(Mac)或 Ctrl + Shift + F(Windows/Linux) 替换
Command + Shift + Option + F(Mac)或 Ctrl + Shift + R(Windows/Linux) 全部替换
Alt + G 跳至行
Command + Z(Mac)或 Ctrl + Z(Windows/Linux) 撤消
Command + Y(Mac)或 Ctrl + Y(Windows/Linux) 重做
Command + Shift + P Edit file(编辑文件) 与 **Preview changes(预览更改)**选项卡之间切换
Command + S(Mac)或 Ctrl + S(Windows/Linux) 填写提交消息

有关更多键盘快捷键,请参阅 CodeMirror 文档

5、源代码浏览

键盘快捷键 描述
T 激活文件查找器
L 跳至代码中的某一行
W 切换到新分支或标记
Y 将 URL 展开为其规范形式。 更多信息请参阅 “获取文件的永久链接”。
I 显示或隐藏有关差异的评论。 更多信息请参阅 “评论拉取请求的差异”。
A 在差异上显示或隐藏注释
B 打开追溯视图。 更多信息请参阅 “跟踪文件中的更改”。

6、评论 / 注释

键盘快捷键 描述
Command + B(Mac)或 Ctrl + B(Windows/Linux) 插入 Markdown 格式用于粗体文本
Command + I(Mac)或 Ctrl + I(Windows/Linux) 插入斜体文本的 Markdown 格式
Command + E(Mac)或 Ctrl + E(Windows/Linux) Inserts Markdown formatting for code or a command within a line
Command + K(Mac)或 Ctrl + K(Windows/Linux) Inserts Markdown formatting for creating a link
Command + V(Mac)or Ctrl + V(Windows/Linux) Creates a Markdown link when applied over highlighted text
Command + Shift + P(Mac)或 Ctrl + Shift + P(Windows/Linux) 在 **Write(撰写)**和 **Preview(预览)**评论选项卡之间切换
Command + Shift + V(Mac)或 Ctrl + Shift + V(Windows/Linux) 将 HTML 链接粘贴为纯文本
Command + Shift + Opt + V(Mac)或 Ctrl + Shift + Alt + V(Windows/Linux) 将 HTML 链接粘贴为纯文本
Command + Shift + 7(Mac)或 Ctrl + Shift + 7(Windows/Linux) 为有序列表插入 Markdown 格式
Command + Shift + 8(Mac)或 Ctrl + Shift + 8(Windows/Linux) 为无序列表插入 Markdown 格式
Command + Enter(Mac)或 Ctrl + Enter(Windows/Linux) 提交评论
Ctrl + . ,然后 Ctrl + [保存的回复编号] 打开已保存回复菜单,然后使用已保存回复自动填写评论字段。 更多信息请参阅 “关于已保存回复”。
Command+Shift+.(Mac)或 Ctrl+Shift+.(Windows/Linux) 为报价插入 Markdown 格式
Command + G(Mac)或 Ctrl + G(Windows/Linux) 插入建议。 更多信息请参阅 “审查拉取请求中提议的更改”。
R 在您的回复中引用所选的文本。 更多信息请参阅 “基本撰写和格式语法”。

7、议题和拉取请求列表

键盘快捷键 描述
C 创建议题
Command + /(Mac)或 Ctrl + /(Windows/Linux) 将光标聚焦于议题或拉取请求搜索栏。 更多信息请参阅 “筛选和搜索问题以及拉取请求”。
U 按作者过滤
L 按标签过滤或编辑标签。 更多信息请参阅 “按标签过滤议题和拉取请求”。
Alt 并单击 按标签过滤时,排除标签。 更多信息请参阅 “按标签过滤议题和拉取请求”。
M 按里程碑过滤或编辑里程碑。 更多信息请参阅 “按里程碑过滤议题和拉取请求”。
A 按受理人过滤或编辑受理人。 更多信息请参阅 “按受理人过滤议题和拉取请求”。
O 或 Enter 打开议题

8、议题和拉取请求

键盘快捷键 描述
Q 请求审查者。 更多信息请参阅 “申请拉取请求审查”。
M 设置里程碑。 更多信息请参阅 “将里程碑与议题及拉取请求关联”。
L 应用标签。 更多信息请参阅 “应用标签到议题和拉取请求”。
A 设置受理人。 更多信息请参阅 “分配议题和拉取请求到其他 GitHub 用户”。
X 链接来自同一存储库的议题或拉取请求。 更多信息请参阅 “将拉取请求链接到议题”。
Command + Shift + P(Mac)或 Ctrl + Shift + P(Windows/Linux) Write(撰写)Preview(预览)选项卡之间切换
Alt 并单击 从任务列表创建议题时,按住 Alt 并单击任务右上角的 ,在当前选项卡中打开新议题表单。 更多信息请参阅 “关于任务列表”。
Shift 并点击 从任务列表创建议题时,按住 Shift 并单击任务右上角的 ,在新选项卡中打开新议题表单。 更多信息请参阅 “关于任务列表”。
Command 并点击(Mac)或 Ctrl + Shift 并点击(Windows/Linux) 从任务列表创建议题时,按住 Command 或 Ctrl+Shift 并单击任务右上角的 ,在新窗口中打开新议题表单。 更多信息请参阅 “关于任务列表”。

9、拉取请求中的更改

键盘快捷键 描述
C 在拉取请求中打开提交列表
T 在拉取请求中打开已更改文件列表
J 将所选内容在列表中向下移动
K 将所选内容在列表中向上移动
Command+Shift+Enter 添加一条有关拉取请求差异的评论
Alt 并单击 通过按下 Alt 并单击 Show outdated(显示已过期)Hide outdated(隐藏已过期),在折叠和展开拉取请求中所有过期的审查评论之间切换。
单击,然后按住 Shift 并单击 单击一个行号,按住 Shift,然后单击另一行号,便可对拉取请求的多行发表评论。 更多信息请参阅 “评论拉取请求”。

10、项目板

1、移动列

键盘快捷键 描述
Enter 或 Space 开始移动聚焦的列
Esc 取消正在进行的移动
Enter 完成正在进行的移动
← 或 H 向左移动列
Command + ← 或 Command + H(Mac)或 Ctrl + ← 或 Ctrl + H(Windows/Linux) 将列移动到最左侧的位置
→ 或 L 向右移动列
Command + → 或 Command + L(Mac)或 Ctrl + → 或 Ctrl + L(Windows/Linux) 将列移动到最右侧的位置

2、移动卡片

键盘快捷键 描述
Enter 或 Space 开始移动聚焦的卡片
Esc 取消正在进行的移动
Enter 完成正在进行的移动
↓ 或 J 向下移动卡片
Command + ↓ 或 Command + J(Mac)或 Ctrl + ↓ 或 Ctrl + J(Windows/Linux) 将卡片移动到该列的底部
↑ 或 K 向上移动卡片
Command + ↑ 或 Command + K(Mac)或 Ctrl + ↑ 或 Ctrl + K(Windows/Linux) 将卡片移动到该列的顶部
← 或 H 将卡片移动到左侧列的底部
Shift + ← 或 Shift + H 将卡片移动到左侧列的顶部
Command + ← 或 Command + H(Mac)或 Ctrl + ← 或 Ctrl + H(Windows/Linux) 将卡片移动到最左侧列的底部
Command + Shift + ← 或 Command + Shift + H(Mac)或 Ctrl + Shift + ← 或 Ctrl + Shift + H(Windows/Linux) 将卡片移动到最左侧列的顶部
将卡片移动到右侧列的底部
Shift + → 或 Shift + L 将卡片移动到右侧列的顶部
Command + → 或 Command + L(Mac)或 Ctrl + → 或 Ctrl + L(Windows/Linux) 将卡片移动到最右侧列的底部
Command + Shift + → 或 Command + Shift + L(Mac)或 Ctrl + Shift + → 或 Ctrl + Shift + L(Windows/Linux) 将卡片移动到最右侧列的底部

3、预览卡片

键盘快捷键 描述
Esc 关闭卡片预览窗格

11、GitHub Actions

键盘快捷键 描述
Command + Space(Mac)或 Ctrl + Space(Windows/Linux) 在工作流程编辑器中,获取对工作流程文件的建议。
G F 转到工作流程文件
Shift + T 或 T 切换日志中的时间戳
Shift + F 或 F 切换全屏日志
Esc 退出全屏日志

12、通知

键盘快捷键 描述
E 标记为完成
Shift + U 标记为未读
Shift + I 标记为已读
Shift + M 取消订阅

13、网络图

键盘快捷键 描述
← 或 H 向左滚动
→ 或 L 向右滚动
↑ 或 K 向上滚动
↓ 或 J 向下滚动
Shift + ←(Mac)或 Shift + H(Windows/Linux) 一直向左滚动
Shift + →(Mac)或 Shift + L(Windows/Linux) 一直向右滚动
Shift + ↑(Mac)或 Shift + K(Windows/Linux) 一直向上滚动
Shift + ↓(Mac)或 Shift + J(Windows/Linux) 一直向下滚动

GitHub 搜索小技巧

GitHub 常用名词

名称 含义
watch 会持续收到该项目的动态
fork 复制某个项目到自己的GitHub仓库中
star 点赞,类似朋友圈的点赞,表示认同、喜欢
clone 将项目下载至本地
follow 关注你感兴趣的作者,会收到他们的动态

搜索 GitHub 时,你可以构建匹配特定数字和单词的查询。如下搜索技巧可以直接在此官网查询:https://github.com/search。

1、搜: 仓库基本信息

in: 限定搜索的范围

关键字 in 是用来限定搜索的范围,可以指定是在名称、描述、readme文档中搜索关键字

  • in:name:指定搜索范围是仓库名称
  • in:description:指定搜索范围是摘要中
  • in:readme:指定搜索范围是readme文档中
  • location:china, 匹配用户填写的地址在中国
  • language:java 匹配开发语言是java的开发者
  • topic: XXX 匹配特定主题分类的所有仓库

比如,指定项目仓库名称 springboot、mybatis、demo 三个关键字,那么搜索如下:

# 指定项目仓库名称 springboot、mybatis、demo 三个关键字
in:name springboot mybatis demo
in:description 单点登录 language:java

# 也可以反过来把 in:name 放在后面
springboot mybatis demo in:name
单点登录 in:description language:java

带有用户名的查询

如果你的搜索查询包含需要用户名的限定符,例如 user, actor, or assignee,你可以使用任何 GitHub 用户名来指定特定人员,或@me, 来指定当前用户。

author:nat
is:issue assignee:@me
格式 例子
QUALIFIER:USERNAME author:nat 匹配由 @nat 创作的提交
QUALIFIER:@me is:issue assignee:@me 匹配分配给查看结果的人的issues

你只能 @me 与限定符一起使用,而不能用作搜索词,例如 @me main.workflow.

2、搜: 仓库的 stars, fork, push 等

查询大于或小于另一个值的值

你可以使用>>=<<=来搜索大于、大于或等于、小于和小于或等于另一个值的值。

方式如下:

  • stars:> :筛选 stars 数量大于某个值的仓库
  • stars:start…end :筛选stars数量在start和end区间的仓库
  • fork:>
  • fork:start…end
  • followers:>1000 , 匹配拥有超过1000名关注者的开发者
cats stars:>1000
cats topics:>=5
cats size:<10000
cats stars:<=50

# 整合in:name
springboot in:name stars:>1000 topics:>=5 size:<10000 stars:<=50
格式 例子
>n cats stars:>1000 匹配具有超过 1000 星的单词“cats”的存储库。
>=n cats topics:>=5 匹配具有 5 个或更多主题的带有单词“cats”的存储库。
<n cat size:<10000 匹配小于 10 KB 的文件中带有单词“cats”的代码。
<=n cats stars:<=50 匹配具有 50 个或更少星的单词“cats”的存储库。

你还可以使用 范围查询 来搜索大于或等于或小于或等于另一个值的值。

cats stars:10..*
cats stars:"*..10"
格式 例子
_n_…* cats stars:10..* 等效于stars:>=10并匹配具有 10 个或更多星的带有单词“cats”的存储库。
**…*n cats stars:"*..10" 效于stars:<=10并匹配带有单词“cats”且星数不超过 10 的存储库。

查询范围之间的值

你可以使用范围语法来搜索范围内的值,其中第一个数字n是最小值,第二个数字是最大值。n..n

格式 例子
n..n cats stars:10…50匹配具有 10 到 50 星之间的单词“cats”的存储库。

查询日期

你可以搜索日期,通过使用>>=<<=,和 范围查询

日期格式必须遵循 ISO8601 标准,即YYYY-MM-DD(年-月-日)。

格式 例子
>YYYY-MM-DD cat created:>2016-04-29 匹配在 2016 年 4 月 29 日之后创建的带有“cats”一词的issues 。
>=YYYY-MM-DD cat created:>=2017-04-01 匹配在 2017 年 4 月 1 日或之后创建的带有“cats”一词的issues 。
<YYYY-MM-DD cat push:<2012-07-05 匹配 2012 年 7 月 5 日之前推送到的存储库中带有单词“cats”的代码。
<=YYYY-MM-DD cat created:<=2012-07-04 匹配在 2012 年 7 月 4 日或之前创建的带有“cats”一词的issues 。
YYYY-MM-DD..YYYY-MM-DD cat push:2016-04-30…2016-07-04 匹配在 2016 年 4 月底和 7 月之间推送到的带有“cats”一词的存储库。
YYYY-MM-DD..* cats created:2012-04-30…* 匹配 2012 年 4 月 30 日之后创建的包含单词“cats”的issues 。
*..YYYY-MM-DD cats created:*…2012-07-04 匹配在 2012 年 7 月 4 日之前创建的包含单词“cats”的issues 。

你还可以 THH:MM:SS+00:00 在日期后添加可选的时间信息,以按小时、分钟和秒进行搜索。即T,后跟HH:MM:SS(小时-分钟-秒) 和 UTC 偏移量 ( +00:00 )。

格式 例子
YYYY-MM-DDTHH:MM:SS+00:00 cat created:2017-01-01T01:00:00+07:00…2017-03-01T15:30:15+07:00 匹配 2017 年 1 月 1 日凌晨 1 点之间创建的issues ,UTC 偏移量为07:00; 2017 年3 月 1 日下午 3 点,UTC 偏移量为07:00.
YYYY-MM-DDTHH:MM:SSZ cat created:2016-03-21T14:11:00Z…2016-04-07T20:45:00Z 匹配在 2016 年 3 月 21 日下午 2:11 和 2106 年 4 月 7 日晚上 8:45 之间创建的issues 。
# 例如: 
in:description 单点登录 language:java pushed:>2019-12-01
# 或者把搜索信息放在最前面
单点登录 in:description language:java pushed:>2019-12-01

3、搜: 过滤一些信息

排除某些结果

你可以使用 NOT 语法排除包含某个单词的结果。该 NOT 运算符只能用于字符串关键字。它不适用于数字或日期。

格式 例子
NOT hello NOT world 匹配包含单词“hello”但不包含单词“world”的存储库。

缩小搜索结果的另一种方法是排除某些子集。你可以在任何搜索限定符前加上 a-以排除与该限定符匹配的所有结果。

格式 例子
-QUALIFIER mentions:defunkt -org:github 匹配提及@defunkt 且不在 GitHub 组织中的存储库中的 issues 。

4、搜: 匹配词语的完整搜索

对带有空格的查询使用引号

如果你的搜索查询包含空格,则需要用引号将其括起来。例如:

某些非字母数字符号(例如空格)从引号内的代码搜索查询中删除,因此结果可能出乎意料。

5、搜: 受喜爱的项目

Awesome + 关键字

Awesome 似乎已经成为不少 GitHub 项目喜爱的命名之一。

概述:awesome + 关键词 命令一般用来搜集学习、工具、书籍相关的项目。

案例:awesome redis「搜索优秀的 redis 相关的项目,包括框架,教程等 awesome redis」

awesome redis

6、搜: 项目内

项目内搜索

使用英文字母 t,开启项目内搜索文件

高亮显示某行代码

单行:地址后面紧跟 #L12

多行:地址后面紧跟 #Lx - #Ln

7、界面: 高级搜索

除了使用这种特定的限定词来筛选之外,其实 GitHub 还给我们提供了界面化的搜索条件筛选框,想不起搜索关键词或者单词时可使用这个高级搜索界面。

8、GitHub 隐藏功能

9、参考链接 & 鸣谢

GitHub 插件和技巧

在我的另一篇博客 浏览器插件推荐 里提到过跟 GitHub 相关的一些插件,这里重复下:


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 8629303@qq.com

×

喜欢就点赞,疼爱就打赏

GitHub