8 个程序员应该掌握的 GitHub 实用技巧
GitHub Pages大家可能都知道,常用的做法,是建立一个gh-pages的分支,通过setting里的设置的GitHub Pages模块可以自动创建该项目的网站。
1、一秒钟把Github项目变成前端网站
GitHub Pages大家可能都知道,常用的做法,是建立一个gh-pages的分支,通过setting里的设置的GitHub Pages模块可以自动创建该项目的网站。
这里经常遇到的痛点是,master遇到变更,经常需要去sync到gh-pages,特别是纯web前端项目,这样的痛点是非常地痛。
Github官方可能嗅觉到了该痛点,出了个master当作网站是选项,太有用了。
![8 个程序员应该掌握的 GitHub 实用技巧](https://s1.51cto.com/oss/202004/10/0e9c09a8e41921900d9cdadb73cec282.jpeg)
选择完master branch之后,master自动变成了网站。master所有的提交会自动更新到网站。
2、精准分享关键代码
比如你有一个文件里的某一行代码写得非常酷炫或者关键,想分享一下。
可以在url后面加上#L行号
比如,点击下面这个url:
- https://github.com/AlloyTeam/...
你便会跳到alloy_touch.js的第240行。
![8 个程序员应该掌握的 GitHub 实用技巧](https://s2.51cto.com/oss/202004/10/35e032004d6dcbc5cb14598f34aa5c2f.jpeg)
那么问题来了?如果我是一段代码,即多行代码想分享呢?也很简单:url后面加上 #L开始行号-L结束行号
比如,AlloyTouch的运动缓动和逆向缓动函数如下面代码段所示:
- https://github.com/AlloyTeam/...
其实也不用记忆你直接在网址后面操作,github自动会帮你生成url。比如你点击39行,url变成了
- https://github.com/AlloyTeam/...
再按住shift点击45行,url变成了
- https://github.com/AlloyTeam/...
然后你这个url就可以复制分享出去了,点击这个url的人自动会跳到39行,并且39-45行高亮。
![8 个程序员应该掌握的 GitHub 实用技巧](https://s1.51cto.com/oss/202004/10/24930f81847ec75e274902c3549d2132.jpeg)
3、通过提交的msg自动关闭issues
比如有人提交了个issues https://github.com/AlloyTeam/... 然后你去主干上改代码,改完之后提交填msg的时候,填入:
fix https://github.com/AlloyTeam/AlloyTouch/issues/6
这个issues会自动被关闭。当然不仅仅是fix这个关键字。下面这些关键字也可以:
- close
- closes
- closed
- fixes
- fixed
- resolve
- resolves
- resolved
4、通过HTML方式嵌入Github
如下面所示,user和repo改成你想要展示的便可以
- <iframe src="//ghbtns.com/github-btn.html?
- user=alloyteam&repo=alloytouch&type=watch&count=true"
- allowtransparency="true"
- frameborder="0" scrolling="0"
- width="110" height="20">
- </iframe>
插入之后你便可以看到这样的展示:
![8 个程序员应该掌握的 GitHub 实用技巧](https://s1.51cto.com/oss/202004/10/d843aa8e0ab88a083969851ea4c731c7.jpeg)
5、gitattributes设置项目语言
![8 个程序员应该掌握的 GitHub 实用技巧](https://s2.51cto.com/oss/202004/10/d7b37393c052130241bd3aa53af369fa.jpeg)
如上图所示,github会根据相关文件代码的数量来自动识别你这个项目是HTML项目还是Javascript项目。
这就带来了一个问题,比如AlloyTouch最开始被识别成HTML项目。
因为HTML例子比JS文件多。怎么办呢?gitattributes来帮助你搞定。在项目的根目录下添加如下.gitattributes文件便可
https://github.com/AlloyTeam/...
里面的:
- *.html linguist-language=JavaScript
主要意思是把所有html文件后缀的代码识别成js文件。
6、查看自己项目的访问数据
在自己的项目下,点击Graphs,然后再点击Traffic如下所示:
![8 个程序员应该掌握的 GitHub 实用技巧](https://s5.51cto.com/oss/202004/10/05cac76578f03308d0ee003f6c88ef46.jpeg)
里面有Referring sites和Popular content的详细数据和排名。如:Referring sites
![8 个程序员应该掌握的 GitHub 实用技巧](https://s3.51cto.com/oss/202004/10/e57fa33d7b7797b3941291661660a69d.jpeg)
其中Referring sites代表大家都是从什么网站来到你的项目的,Popular content代表大家经常看你项目的哪些文件。
7、trending排行榜
上面教大家设置语言了,下面可以看看怎么查看某类型语言的每日排行榜。比如js每日排行榜:
- https://github.com/trending/j...
- https://github.com/trending/h...
- https://github.com/trending/c...
- Github推荐:https://github.com/explore
8、其他
- issue中输入冒号 : 添加表情
- 任意界面,shift + ?显示快捷键
- issue中选中文字,R键快速引用
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击