Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

GitHub不为人知的小秘密…让你的工作更高效

之前我们讲过 Jupyter Notebook 自带的一些插件功能,那些插件容易被人忽略却又能提高你的工作效率。这次,我们一起来探索一下 GitHub 一些类似的小功能(被忽略的小可爱)吧。

近日,GitHub 宣布将无限制地开放私有代码库,这让我们能够在几分钟之内就将那些不想让人别人看到的代码传到云端,还确保我们可以充分利用 GitHub 所提供的诸多功能。

GitHub 内置了一些非常实用的快捷方式和提高生产率的功能。然而,根据我的个人经验,很多开发人员往往不会注意到这些功能。

只要我发现 GitHub 上的某个特定功能可以为开发者提供帮助,我就会将它记录在这篇文章中。也就是说,它绝不是一个详尽的列表。

代码库中的快速模糊文件搜索

毫无疑问,如果你知道自己想要找什么东西,这就是浏览代码库的最快方法。打开任意一个代码库并按下「t」键,你就可以根据名称搜索代码库中的任何文件,你还可以用键盘上的导航键操作箭头在搜索结果中移动。按下回车键就可以打开想要查找的文件。

代码合并请求(pull request)中的代码更改建议

当你在代码合并请求中评论代码时,你可以使用「更改建议」(Suggested Changes)功能给出建议的替换代码。代码合并请求的作者将能够在不离开 GitHub 的情况下立即采纳你的建议。如果你想给出建议,你要使用「'''」形式的多行注释标记将代码片段囊括近来,并添加标签「suggestion」:

在代码合并请求中提出更改建议...

当你提出了更改建议后,代码合并请求的作者可以立即将其应用到代码库分支中,而不需要手动变更文件!

接着应用这些更改。

像在 IDE 中一样导航代码树

实现该功能需要用到 Chrome 浏览器的一个非官方扩展,但是与默认的 GitHub 界面相比,这是一种让人感到更加熟悉的代码导航方式。「Octortree extension」让你能够使用侧边栏的树状视图浏览 GitHub 代码库,有点像在 VS Code 等应用中使用侧边栏视图查看代码结构。

在检查代码时跳转到特定的函数

除非你正在检查某个函数内部的代码,否则你在检查代码的过程中经常会在函数的调用和定义之间进行跳转(因此需要大量的上下滚动)。GitHub 让你能够在查看代码合并请求中的文件时,通过按下「t」键跳转到某个特定的标志。

创建文件的永久链接

当你在查看一个文件或代码库时,按下「y」就可以将 URL 转换为一个永久链接,你可以安全地共享该链接,因为该文件中的内容永远不会改变。

如果你在 GitHub 上上传了一个文件或代码库的目录链接,而并没有把这个链接变成一个永久链接,那这些文件可能会在第二天消失,链接会被破坏!

查看 Git blame 和最近更新的热力图

当你查看文件时,可以按下「b」键查看「Git blame」和显示每一行代码最近被更新的热力图。它会告诉你最近是谁更改了每行代码,并为你提供一个可以点击的链接,让你查看完整的代码提交信息。

在 gutter(包含代码提交信息和作者信息)的右边,你会看到一个橙色的竖条。如果这个竖条越鲜艳,那么就说明更改的时间越近,这意味着你可以很容易地浏览文件,并找到最近更新的代码。

强大的代码搜索

GitHub 为大部分代码建立了索引,并提供了强大的搜索功能。如果你需要在存储库中查找某些内容,但不打算对其进行任何更改,通常不需要检查代码仓库。你可以按下「/」键来搜索代码仓库中的所有代码。

如果你的搜索包含多个单词,并且想要进行特定搜索查询,请给查询内容加上引号。你还可以通过其它方式过滤搜索,比如文件大小、扩展名、文件所在的路径等等。

保存回复

如果你发现自己总是重复为代码给出同样的评论,那么你可以通过创建一个保存好的回复来节省时间。下次当你发现你想要再次输入这样的评论,你可以直接从下拉菜单中选择:

如果想不使用鼠标就完成上面的工作,可以先按「ctrl + /」然后按下「ctrl+ 1」。

原文链接:https://medium.freecodecamp.org/how-to-be-more-productive-on-github-c3cedab043e3

入门GitHub
1
相关数据
查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

Jupyter技术

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。 Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等 。

推荐文章
暂无评论
暂无评论~