一个程序员日常工作中对于 Github 的一些另类用法

这篇文章包含了 Jerry 平时对于 Github 的一些另类用法。目录如下:
1. 部署 HTML 应用到 Github 并运行
2. Github 和云平台的集成
3. ABAP Git 客户端
4. 用 Github 搭建个人博客
5. 一些提高工作效率的小窍门
6. Github 周边
如果您也有使用 Github 的小技巧,欢迎留言。
1. 部署 HTML 应用到 Github 并运行
这个技巧其实是把 Github 作为一个简单的 Web 容器使用。新建一个 Github 仓库,再新建一个 gh-pages 分支,将您的 HTML 项目文件保存并推送到该分支下。假设我开发了一个 Angular 应用,应用的入口页面是 angular_controller.html,那么将本地文件推送到 Github 后,使用如下格式的 url 访问该应用:
http://<your user name in github>.github.com/<repository_name>/angular_controller.html
我做的一个例子:

详细步骤参考我的博客:
Step by step to host your HTML application to Github
Jerry2014 年从 ABAP 开发转到 JavaScript 开发时,在网上搜集了很多开源的 JavaScript 库文件,一行一行调试,体会 JavaScript 大师们是如何把这门语言玩得出神入化的。
我把基于这些库文件开发的一共 91 个 HTML 应用都部署到了 Github 上,可以通过点击下面的链接来运行。
http://i042416.github.io/FioriODataTestTool2014/
下面是其中一个应用在手机上运行的效果。

2. Github 和云平台的集成
一个例子就是 Github 和 Salesforce 云平台 Heroku 的集成,对于开发人员来说使用非常简便。在 Heroku 上创建应用后,只需要点击 Connect to Github 按钮,

即可通过本地 Git 客户端向远端仓库的推送动作来触发 Github 向 Heroku 的自动部署。


也就是说,每次在本地做完修改,推送到 Github 远端仓库后,我们就可以直接访问 Heroku 上最新版本的应用了。
详细步骤参考我的博客:Step by step to host your UI5 application in Heroku
我部署在 Heroku 上的一个 UI5 应用:
https://jerrylist.herokuapp.com/ui5/
3. ABAP Git 客户端
一个开源的用 ABAP 实现的 Git 客户端,支持在 SAPGUI 里直接操作 Github 仓库。
如何使用?还是先在 Github 上创建一个空的仓库,然后执行 ABAP 客户端,将该仓库克隆(clone)到 ABAP 系统里某个包里。这个动作将 ABAP 系统这个包和 Github 上的仓库关联起来。

克隆完成后,一旦在 ABAP 包里创建 ABAP 的报表或者类等开发对象,这些对象会自动出现在 ABAP Git 客户端。

直接在 ABAP Git 客户端内将这些修改推送到 Github 上:

推送时和其他 Git 客户端一样,维护提交日志:比如 Jerry test comment:

用浏览器打开 Github 仓库,能看见从 ABAP Git 客户端推送的资源和日志:

4. 用 Github 搭建个人博客
早在 2012 年 8 月时,阮一峰老师就在他的个人博客网站上介绍了如何使用 Github 搭建个人博客:
http://www.ruanyifeng.com/blog/2012/08/blogging_with_jekyll.html
抛开技术本身不谈,在阮一峰老师这篇博客的评论区,网友们展开了激烈的讨论。部分朋友认为 Github 不应该滥用,只适合用来存储代码。
Jerry 对这种观点不置可否,下面是 SAP 成都研究院几位开发人员和我自己用 Github 搭建的个人博客:
http://www.tgf21.com - SAP 成都研究院 S/4HANA 开发团队 Tang Roam
http://duyue6002.github.io - SAP 成都研究院 C4C 开发团队 Du Rhea
http://jerrywang.vip
手机上打开这些搭建在 Github 上的个人博客,效果如图:

5. 一些提高工作效率的小窍门
在用户目录下编辑.gitconfig 文件,为常用的命令设置一些别名,比如用 git c 代替 git commit -m, 这样每次使用可以少敲击几次键盘。

修改用户目录下另一个文件.bash_profile,可以在里面写一些 shell 脚本,用 function 封装起来。每次在 Git 客户端输入这些 function 即可执行对应脚本。
目的还是少敲几次键盘完成同样的事情。假设使用这些小技巧每天能节省 2 分钟,一年下来能节省 12 个小时敲击键盘的时间。

6. Github 周边
两个有意思的和 Github 相关的 Chrome 扩展程序。
**Isometric Contributions:**使用 Chrome 打开 Github,能以柱状图的方式显示 contribution 明细。

**Octotree:**在屏幕左边以树形结构显示仓库内代码列表,方便查看代码。

有位老兄写了个工具,可以生成一些搞笑的 Github 提交记录图片(好像没什么用)。
https://github.com/moonlightpoet/FunGithub
原理就是把程序指定的 Github 用户的首页下载到本地,再将 HTML 页面渲染成指定的字符串。
写一个控制台程序,指定 Github 用户名和想看到的字符串:

输出:

Github 无处不在:


最后一定要提一提这个仓库:
https://github.com/houshanren/hangzhou_house_knowledge
到 2018 年 6 月 5 日为止,这个仓库已经超过 17000 的 Star。。。

不少房地产业内人士看了这个仓库的内容都大吃一惊。
这份买房攻略写十分透彻,逻辑清晰,从房产概念、板块知识、地价、配套规划、学区到区域价值分析等,一应俱全。对于只知写代码、不了解房地产的程序员来说,这就是一份“购房宝典”,成了他们买房前参考的重要资料。
对于这位同行,Jerry 只想说:厉害了,我的哥!

要获取更多 Jerry 的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:


版权声明: 本文为 InfoQ 作者【Jerry Wang】的原创文章。
原文链接:【http://xie.infoq.cn/article/f117b2218320c7f5a5f0ec388】。文章转载请联系作者。
评论