github搜索技巧_和逛知乎、刷微博一样高效使用 GitHub

04fbb1ffb451b8cd463fb1f207bdfcf3.png

自打毕业之后,可以说每天打开 Github 或Email 看有没有 watch 项目的消息或者自己项目的 issue,然后在Explore 看看社区内项目的走势,紧接着开始写代码搬砖的工作,偶尔也会关注下 Github 的 Blog, 看看有没有大新闻,亦或扫一眼 Github 的 Tip,闲的蛋疼的时候也会一时兴起去搜索下有意思的项目,看到有趣的人就会去他的博客看看,晚上要睡觉之前会考虑是不是要写篇博客,然后 push上去显得自己的 Github 绿一点......久而久之,也学到了一些 Github 的使用技巧,下边毫无保留的分享给大家。

两分钟把Github项目变成前端网站

此处默认你有 Github 账号、安装了 Git 并且熟悉基本的 Git 操作,只是需要寻求部署 Github Pages 方面的知识。GitHub Pages 大家可能都知道,常用的做法,是建立一个 gh-pages 的分支,通过 Setting 里的设置的GitHub Pages 模块可以自动创建该项目的网站。

这里经常遇到的痛点是,master 遇到变更,经常需要去 sync 到 gh-pages,特别是纯 web 前端项目,这样的痛点是非常地痛。

Github官方可能嗅觉到了该痛点,出了个 master 当作网站是选项,太有用了。

下边具体来看下操作步骤:

第一步 进入 Settings 设置 Github Page 模块

687d42774cb53b11786c75125de5ee78.png

第二步 选择对应分支

选择完 master branch 之后,master 自动变成了网站。master 所有的提交会自动更新到网站。

d98741a709e8827a80661a51e74cb5d6.png

第三步 选择对应主题

5d020e74fa5a69fc5c268070a58f8746.png

432b9ec62e86025dbefacab51a3aae0c.png

第四步 等待部署成功

2623adb87a36d1dbdcb0923a63bbda0c.png

如上图所示,则代表部署成功!此时便可以使用 http://username.github.io/仓库名称 进行访问了,我在此处的访问地址是:https://bylant.github.io/DWR-Spring/

0565db0390bf0f40b2b4740ca22d25a3.png

精准分享关键代码

比如你有一个文件里的某一行代码写得非常酷炫或者关键,想分享一下。可以在 URL 后面加上 #L 行号

比如,点击下面这个 URL

https://github.com/Bylant/DWR-Spring/blob/master/src/main/java/top/zhoudl/dwr/MessagePusher.java#L47

此时便会直接跳转到这行代码的位置,高亮显示

c0e0abcb185f46bab31f619877316fbb.png

有的朋友此处可能会想,分享一行代码有什么用,我的关键代码那可是以段来论的,看不起你这一行,不急,同样有办法,我们在 URL 后边加上 L开始行号-L结束行号

如以下 URL :

https://github.com/Bylant/DWR-Spring/blob/master/src/main/java/top/zhoudl/dwr/MessagePusher.java#L47-L70

d905a3d2aa2382dcc9457744d0c79498.png

其实我们也不用去死记硬背这些东西,因为 Github 有方式帮我们自动生成这些链接

  • 分享单行代码
    直接点击代码区的行号,URL 会随之跳转,大家可以观察下图的 URL 变化

8d4cb1bcf49a2054bdbff77c25531502.gif
  • 分享多行代码
    多行代码和单行代码分享的操作步骤基本一致,只不过区别在于在选择完代码块开始行之后,点击结束行的同时需要按住 Shift 键,大家观察以下动图 URL 的变化

9f209de101bbc6205ae944b9e1c052db.gif

此时我们可以直接复制拿到的 URL 去别的地方分享了。

通过提交的 message 自动关闭 issues

比如有人提交了个issues https://github.com/AlloyTeam/AlloyTouch/issues/6 然后你去主干上改代码,改完之后提交填msg的时候,填入:

fix  https://github.com/Bylant/DWR-Spring/issues/1

这个 issues 会自动被关闭。当然不仅仅是 fix 这个关键字,下面这些关键字也可以:

  • close
  • closes
  • closed
  • fixes
  • fixed
  • resolve
  • resolves
  • resolved

gitattributes设置项目语言

f320b64bab3616a228d747201ec07318.png

如上图所示,Github 会根据相关文件代码的数量来自动识别你这个项目是 HTML项目、avascript 项目或者 Java 项目。但是这就会带来了一个问题,比如 DWR-Spring 最开始被识别成 JavaScript 项目。因为 项目刚开始可能前端代码很多。

怎么办呢?gitattributes 可以来帮助你搞定这个问题。我们在项目的根目录下添加如下 .gitattributes 文件便可

文件内容如下:

*.js linguist-language=Java

主要意思是把所有 js 文件后缀的代码识别成 Java 文件。

查看自己项目的访问数据

在自己的项目下,点击 Graphs,然后再点击 Traffic 如下所示:

6000e9d50040b8e116c8acc10c81d518.png

更多统计留给你自己去探索哦

trending 排行榜

经常玩微博的人都知道,每天都有个热搜榜,知乎也有个知乎热榜,当然,Github 也有某类型语言的每日排行榜。比如 Java 每日排行榜:

https://github.com/trending/javascript?since=daily

8e4333a8d13b1f0ed34663ad9b84dde7.png

Github 推荐

https://github.com/explore

9e702109132534c602166ae1efc02e77.png

快速搜索项目文件功能

有时候我们要快速检索项目中的某个文件,这个时候如果一个一个去找很浪费时间。所以 Github 也为我们提供了一个搜索技巧。

  • 打开 Github 底下任意仓库,然后打开仓库里面的代码
  • 接着在项目页面,按住键盘 T 键,会在项目名旁边出现可以可以搜索的地方
  • 输入想要查找的关键词,页面会根据输入的关键词进行快速搜索

737109b7820881e2ea15a8f68c96f5e9.gif

其他搜索技巧

基本规则

默认搜索是从master分支搜索代码,搜索语句不能有特殊字符如. , : ; / ` ’ ” = * ! ? # $ & + ^ | ~ < > ( ) { } [ ].

指定搜索方式

51bc2279640be3434f4c636ac9c1333c.png

Awesome + 关键字

Awesome 似乎已经成为不少 GitHub 项目喜爱的命名之一,他可以找到优秀的工具列表。比如前面提及要找到优秀的 Windows 软件,可以尝试搜索 Awesome windows,得到这样的搜索结果:

782bd60f0c4ace5c41d6f67779e5245f.png

排名前列的结果出现了 Windows/Awesome 项目,这里集合了 Windows 上优质和精选的最佳应用程序及工具列表。

此处小提几点:我习惯的用法是灵活运用下面几个搜索条件:stars:language:forks:,其实就是设置项目收藏、开发语言、派生的搜索条件,比如输入 stars:>=1000 language:java,得到的结果就是收藏大于和等于 500 的 Java 项目。如下结果出来的都是 ES、SpringBoot 等经典项目

12da211c35eb928f6e4ecce8949e0d01.png

除了以上所述之外,GitHub 提供高级搜索功能访问地址如下:

https://github.com/search/advanced

bdd1bf9e329096624e495ba29c053b4b.png

具体使用方法参见 https://help.github.com/en/articles/searching-on-github 此处不再赘述了。

其他技巧

issue 中输入冒号 : 添加表情

26b779d8c8cf1193c31b11444995bb98.png

表情对应的代码参见网站

https://www.webfx.com/tools/emoji-cheat-sheet/

14a42b070ead5c121460a24a80c8bc17.png

可以看到我们经常用的所有表情都会在这个地方。

任意界面,shift + ?显示快捷键

6b4a0cb640f86777c0c9544dba807e8b.png

issue 中选中文字,R 键快速引用

还是以上边新建的 issue 为例,我们看到选中 文档太少 四个字之后,然后按住 R 键,就会自动引用 文档太少 这四个字

e58817d041eae45d39eb3e8b14e86f04.gif

最后

好了,我就会这么多,也是我经常使用的技巧。可以说 Github 的资源对于广大开发者来说真是个宝藏,很多时候我都在思考一个问题,我们每天遇到各种各样的问题,然后我们需要不断 Google、百度,达到我们解决问题的目的。但是在这个过程中,我们总是能够见到,对于同一个问题,总是有大量错误、copy 的博客、文库乃至"吊炸天"的百度知道,一次又一次减慢了我们解决问题的进度。更加糟糕的是,这种 copy 是保量不保质的,所以我们总是希望,每当我们 Google 或者百度的时候,都能够最快解决我们需要解决的问题。然而,这貌似是不切实际的,在人人都有权利发表文章的今天,要想禁止这种无意义的抄袭几乎是痴人说梦。清晰意识到这一点之后,我觉得更加有效的方式是每一个发表博客或者活跃于问答网站的人都应该把自己的博客或者解答做到精炼和准确,在某种意义上来说,这是一种义务和责任。

也欢迎补充实用的技巧~~我会持续更新上去…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567736.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

方舟服务器维护驯龙,方舟生存进化新手图文攻略 最详细的驯龙教程方法

《方舟&#xff1a;生存进化》很多新手玩家不知道前期如何生存&#xff0c;不知道有什么技巧&#xff0c;下面小编就为大家带来方舟生存进化的图文攻略&#xff0c;也就是新手图文攻略教程&#xff0c;希望对想要接触或这刚刚接触这款游戏的玩家有所帮助。首先&#xff0c;进入…

pyqt5 获取Qlabel中的图片并对其进行处理(包括Qimage转换为Mat)

1、提取Qlabel中的图片 qimgself.showScreenImgLabel.pixmap().toImage() 2、将Qimage转换为mat def qimage2mat(self,qimg):ptr qimg.constBits()ptr.setsize(qimg.byteCount())mat np.array(ptr).reshape(qimg.height(), qimg.width(), 4) # 注意这地方通道数一定要填4&…

服务器ios文件,ios 文件到服务器

ios 文件到服务器 内容精选换一换安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具&#xff0c;将文件上传到云服务器。例如QQ.exe。在本地主机和Windows云服务器上分别安装数据传输工具&#xff0c;将文件上传到云服务器。例如QQ.exe。本地磁盘映射(推荐使用)使…

pyqt出现“Ui_Dialog has no attribute “show””

将设计好的.ui文件经过pycharm中的Pyuic命令后生成对应的.py文件。 此时生成的.py文件并没有初始化。需要额外添加初始化代码 class Ui_MainWindow(QtGui.QMainWindow):def __init__(self):super(Ui_MainWindow,self).__init__()self.setupUi(self)self.retranslateUi(self) …

python二维图颜色函数_Python绘图之二维图与三维图详解

各位工程师累了吗? 推荐一篇可以让你技术能力达到出神入化的网站"持久男" 1.二维绘图 a. 一维数据集 用 Numpy ndarray 作为数据传入 ply 1. import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt np.random.seed(1000) y np.random.stan…

Windows10配置CUDA10.0+cudnn7.5.1

1、安装CUDA10.0 &#xff08;1&#xff09;下载&#xff1a;https://developer.nvidia.com/cuda-10.0-download-archive?target_osWindows&target_archx86_64&target_version10&target_typeexelocal 双击安装包进行安装&#xff0c;路径全部默认不做修改 &#…

金蝶云系统服务器,金蝶系统云服务器已离线

金蝶系统云服务器已离线 内容精选换一换本节操作介绍在Windows和Linux环境中使用SSH密码方式远程登录Linux云耀云服务器的操作步骤。云耀云服务器状态为“运行中”。云耀云服务器已经绑定弹性公网IP。所在安全组入方向已开放22端口&#xff0c;配置方式请参见配置安全组规则。使…

python 并列条形图_python – 来自两个pandas数据框的分组条形图

我有两个包含不同值但结构相同的数据框&#xff1a; df1 0 1 2 3 4 D 0.003073 0.014888 0.155815 0.826224 NaN E 0.000568 0.000435 0.000967 0.002956 0.067249 df2 0 1 2 3 4 D 0.746689 0.185769 0.060107 0.007435 NaN E 0.764552 0.000000 0.070288 0.101148 0.053499…

微信公众平台服务器 反馈,微信公众号开发之大坑

问题&#xff1a;ascii codec cant encode characters in position 0-25: ordinal not in range(128)解决&#xff1a;import sysreload(sys)sys.setdefaultencoding()报错&#xff1a;{"errcode":41011,"errmsg":"missing agentid"}解决&#x…

Python正则表达式re.sub使用

1、引入正则表达式 import re2、使用re.sub进行字符串替换 re.sub(pattern, repl, string, count0, flags0) 其中三个必选参数&#xff1a;pattern, repl, string两个可选参数&#xff1a;count, flagspattern &#xff0c;表示正则中的模式字符串&#xff0c;其中反斜杠加数…

径向基神经网络_谷歌开源Neural Tangents:5行代码打造无限宽神经网络模型,帮助“打开ML黑匣子”...

鱼羊 假装发自 凹非寺量子位 报道 | 公众号 QbitAI只要网络足够宽&#xff0c;深度学习动态就能大大简化&#xff0c;并且更易于理解。最近的许多研究结果表明&#xff0c;无限宽度的DNN会收敛成一类更为简单的模型&#xff0c;称为高斯过程&#xff08;Gaussian processes&…

python eval简介

eval函数的简介和语法 eval()函数用来执行一个字符串表达式&#xff0c;并返回表达式的值。还可以把字符串转化为list、tuple、dict。 eval函数的语法&#xff1a; eval(expression[,globals[,locals]])参数&#xff1a; expression&#xff1a;表达式。 globals&#xff1…

佳能g2800清零软件天空_可能是史上最有趣的3D建模软件

今天咱们要讲的不是一款BIM软件&#xff0c;而是一款有趣的3D体素建模软件。体素英文名叫Voxel&#xff0c;是把像素风格中的小方块引申到三维空间里&#xff0c;让图像呈现一小块一小块的鲜明风格。比如《我的世界》和最近非常火的《纪念碑谷2》就是这样的风格。这款软件叫做M…

Python 打开文件注意事项

利用try except语句捕获打开文件异常 filename"student.txt"#利用try except语句捕获打开文件异常 try:student_txtopen(filename,a) #以追加模式打开文件 except Exception as e:student_txtopen(filename,w) #文件不存在&#xff0c;创建文件并打开#打开文件 i…

python删除数组元素_python:从数组列表中删除一系列数字

我在从数组列表中删除范围A到B的元素时遇到问题。我在网上搜索的解决方案似乎只适用于单个元素、相邻元素和或整数元素。我在处理浮点数。 1 2 3 4 5 6 7self.genx np.arange(0, 5, 0.1) temp_select self.genx[1:3] #I want to remove numbers from 1 - 3 from genx print(t…

python 列表中dict中key排序

#1列表排序&#xff1a;使用lamada表达式进行排序 student_new[{id:1,name:无语1,english:100,python:98},{id:2,name:无语2,english:87,python:96},{id: 3, name: 无语3, english: 95, python: 100}]student_new.sort(keylambda x:x[english],reverseTrue) print(student_new)…

springcloud feign 服务调用其他服务_微服务实战——SpringCloud与Feign集成

上一篇集成了ZuulGateway和Eureka并进行了测试。在实际场景中&#xff0c;我们肯定会有很多的微服务&#xff0c;而他们之间可能会存在相互调用的关系&#xff0c;那么&#xff0c;如何优雅的处理服务之间的调用问题呢&#xff1f;接下来就是我们要解决的。简单的说下FeignFeig…

Python部分知识点

1format方法 format中 数字表示所占宽度 符号^表示居中显示 \t表示添加制表符 format_title"{:^4}{:^12}\t{:^8}\t{:^10}\t{:^10}" print(format_title.format("ID","名字","英语成绩","Python成绩","C语言成绩"…

python数字形式转换_在Python中将字母转换为数字

在Python中将字母转换为数字 如何完成以下步骤&#xff1f; characters [abcdefghijklmnopqrtuvwxyz] numbers [123456789101112131415161718192021222324] text raw_input( Write text: ) 我已经尝试了许多方法来解决它&#xff0c;但无法做到。 我想做事。 如果我键入“ h…

Python中赋值,深拷贝和浅拷贝

1python变量 变量的存储&#xff0c;采用了引用语义的方式&#xff0c;存储的只是一个变量的值所在的内存地址&#xff0c;而不是这个变量的值本身。 2赋值 python变量赋值实际上是对象的引用。 如&#xff1a; list_a [1,2,3,"hello",["python",&qu…