社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
注:GitHub支持个人私有仓库,且不收费啦。
通过in关键词限制搜索范围
xxx in:name 项目名包含xxx的
xxx in:description 项目描述包含xxx的
xxx in:readme 项目readme文件中包含xxx的
通过xxx in:name,desciption来组合使用
搜索项目名或者描述中包含「demo」的项目:demo in:name,decription
通过 Star 或者Fork数 查找项目
通过通配符 > < = 即可,区间范围内可通过 num1…num2
如,要查找stars数不小于666的springboot项目
springboot stars:>=666
查找fork在100到200之间 且stars数在80到100之间的springboot项目
springboot forks:100…200 stars:80…100
awesome + 关键字
搜索和关键字匹配的优秀项目
awesome springboot 搜索优秀的springboot相关的项目,包括框架、教程等
搜索某个地区内的大佬
可以通过location:地区 进行检索,在具体可以通过language:语言 缩小检索范围
如搜索地区在北京的Java方向的用户
location:beijing language:java
方法有很多,借助插件等;但是实际上仔细研究就不难得出一个结论:插件实际上也是利用GitHub暴露的API。GitHub提供的API可谓是RESTful API的业界标杆和良心集大成者。研究GitHub的API对于设计REST API益处良多。
查看某个文件的历史修改记录的几种方法:
这个是最容易想到也是最简单的方法,在页面即可看到。
使用 git bash 命令行:``
以文件 https://github.com/johnnywong233/test/blob/master/demo/pom.xml 为例,将URL前面的域名部分替换为 https://github-history.netlify.com/,即得到 https://github-history.netlify.com/johnnywong233/test/blob/master/demo/pom.xml,在页面顶部即可看到一次次提交记录,点击头像,即跳转到对应版本。
是不是感觉很奇怪?但是我的确遇到这样的需求,找了找网络资料分享出来。
需求来源:
基于 SVN 命令行,真的是汗颜啊;刚才 SVN 转到 Git 的阵营。
首先去下载一个SVN的命令行,这里是下载连接。
打开cmd,键入svn help
,如果有内容,说明安装成功。
在 github 上定位到所需下载的文件夹,例如:https://github.com/zxing/zxing/tree/master/core
。
使用svn checkout https://github.com/zxing/zxing/tree/master/core
来查看一下文件夹内容。
将https://github.com/zxing/zxing/tree/master/core
中的tree/master/
替换为trunk/
即https://github.com/zxing/zxing/trunk/core
。
键入命令svn export https://github.com/zxing/zxing/trunk/core C:/Downloads/zxing_core
。C:/Downloads/zxing_core
为需要保存到的本地目录,注意空格。
基于chrome extension(插件)-octotree。这是一款在页面左侧以类似于Windows 下 树形图形式展示GitHub代码,方便浏览的插件。安装需代理。
缺憾是只能下载单个文件。
第一家公司外企,有钱任性,先是使用 atlassian 软件公司的付费仓库 git stash,然后直接使用GitHub私有付费仓库;但是跳槽之后的私企都是使用GitLab,公司内部搭建的 git 服务器,此时octotree就派不上用场;继续找插件呗,发现 gitlab tree 这款插件。插件安装需要翻墙,配置可能有点麻烦。有时候可能配置token之后还是不能使用,很有可能是内网的每个组件把这个功能给禁掉了;待验证。
如图,在线编辑,编辑完成之后点击 Propose file change 按钮 GitHub 将会自动帮你 fork 该项目并且创建一个 pull request。非常适合修复编写代码中出现的拼写错误和修正一个不太理想的想法。
T
打开想要搜索的项目,按T键,会跳转至一个新的网页,URL形式如:https://github.com/<user>/<repo_name>/find/master
,然后即可搜索想要查看的文件。
L
在GitHub页面输入L,弹窗输入数字,即可实现跳转到多少行,效果等同于直接在URL后面添加:#L44
、#L44-L50
。
类似的页面内快捷键还有很多,更多快捷键查看https://help.github.com/en/articles/using-keyboard-shortcuts
trending排行榜:
https://github.com/trending/java?since=daily
语言可选其他如ruby,更新间隔可选:monthly,yearily等;
比如我的一个代码库 https://github.com/johnnywong233/test
居然被识别成JavaScript项目,github 会根据相关文件代码的数量来自动识别这个项目是什么语言的项目,肯定是Java啊,为什么识别为 JS 也是莫名。google 一下,发现 GitHub 是使用 Linguist 来检测所使用的语言。
那么如何修改呢?
解决方法1:在项目的根目录的文件 .gitattribute 文件里面添加配置:
# resolve repo detect error
*.js linguist-language=java
*.css linguist-language=java
*.html linguist-language=java
后文简记为pr,GitHub 提 PR的步骤:
<your_name>/<repo_name>
;但是稍加思考就知道,如果被fork的repo有更新,我得在提交pr之前先和远程repo保持同步。同步之后,才能提交pr,否则有冲突不说,还会有其他团队协作的问题。
Fork过来的代码如何与源代码保持同步更新?
git remote add upstream git@github.com:johnnywong233/test.git
git remote -v
查看远程分支。git fetch upstream
git merge upstream/master
或者使用GitHub页面的鼠标点击操作:
严格来说,是Chrome插件,用于GitHub页面的。
平常情况下,在线查看GitHub代码,需要进入一层层目录然后才能查看,效率非常低下。借助于这个插件,可以像本地浏览目录一下在线查看GitHub代码。
在GitHub上浏览和搜索代码的工具,安装好插件之后会出现一个view Repository的按钮。可以随意在项目中搜索,可以查看变量和方法,以及进行跳转等。
对于习惯于使用IDE的我们,使用鼠标可以链接跳转进而查看方法定义;此插件即可实现这个功能,和IDE里面一样,Ctrl+点击变量名即可。不过,试用下来效果不好。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!