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 搜索小技巧
- 73个GitHub高级搜索技巧_github搜索技巧:https://blog.csdn.net/2401_85958038/article/details/141371907
- 掌握这些GitHub搜索技巧,你的开发效率将翻倍!https://blog.csdn.net/u011738045/article/details/130513159
- GitHub小技巧, 让你嗖嗖找到想要的:https://blog.csdn.net/fly910905/article/details/121877743
- GitHub 搜索技巧 - 带你一步步找优质项目 带 gif 演示图:https://blog.csdn.net/mukes/article/details/103480696
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、搜: 匹配词语的完整搜索
对带有空格的查询使用引号
如果你的搜索查询包含空格,则需要用引号将其括起来。例如:
- cats NOT “hello world”:匹配带有单词 “cats” 但不匹配单词 “hello world” 的存储库。
- build label:”bug fix”:匹配带有 “build” 标签且标签为 “bug fix” 的 issues 。
某些非字母数字符号(例如空格)从引号内的代码搜索查询中删除,因此结果可能出乎意料。
5、搜: 受喜爱的项目
Awesome + 关键字
Awesome 似乎已经成为不少 GitHub 项目喜爱的命名之一。
概述:awesome + 关键词 命令一般用来搜集学习、工具、书籍相关的项目。
案例:awesome redis「搜索优秀的 redis 相关的项目,包括框架,教程等 awesome redis」
awesome redis
6、搜: 项目内
项目内搜索
使用英文字母 t,开启项目内搜索文件。
高亮显示某行代码
单行:地址后面紧跟 #L12
多行:地址后面紧跟 #Lx - #Ln
7、界面: 高级搜索
除了使用这种特定的限定词来筛选之外,其实 GitHub 还给我们提供了界面化的搜索条件筛选框,想不起搜索关键词或者单词时可使用这个高级搜索界面。
8、GitHub 隐藏功能
- http://git.io/sheet
- https://github.com/tiimgreen/github-cheat-sheet
- https://github.com/FLY-Open-DevOps/github-cheat-sheet
9、参考链接 & 鸣谢
GitHub 插件和技巧
- 一些超好用的 GitHub 插件和技巧:https://blog.csdn.net/weixin_38125348/article/details/142612143
- 掌握这些GitHub搜索技巧,你的开发效率将翻倍!https://blog.csdn.net/u011738045/article/details/130513159
在我的另一篇博客 浏览器插件推荐 里提到过跟 GitHub 相关的一些插件,这里重复下:
- Sourcegraph:在线打开项目,方便阅读,将 GitHub 变得和 IDE 一般,集成各种功能,参考 爱了爱了,这个 GitHub 的 Chrome 神仙插件把我整的服服帖帖的 - 知乎
- Awesome Autocomplete for GitHub:加强 GitHub 的搜索框
- File Icon for GitHub, GitLab and Bitbucket:给 GitHub 仓库文件添加图标
- Octohint:GitHub 代码智能高亮
- OctoLinker:直接从代码跳转到 GitHub 对应仓库,相对路径也能跳转,支持很多编程语言
- Isometric Contributions:立体显示 GitHub Contributions 的扩展
- Octotree:在左侧添加一个文件浏览器,可以更快的在文件之间跳转
- GayHub:优化 GitHub 的阅读体验。
- Refined GitHub:这个和上面的都是对 github 整体进行加强的扩展
- GitHub Hovercard:这个加强了 GitHub 悬浮在某些元素上的功能
- 让这个盛产神器的网站下载速度提升N倍!:一款油猴脚本,提高 GitHub 下载速度
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 8629303@qq.com