写在Github被微软收购之际 - Github的那些另类用法

简介:

这几天朋友圈被微软75亿美元收购Github的新闻刷屏了。Jerry也来贡献一篇和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:// user name in github>.github.com//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仓库。

http://www.abapgit.org/

如何使用?还是先在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搭建的个人博客:

手机上打开这些搭建在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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

相关文章
|
4月前
|
JSON 安全 数据安全/隐私保护
​iOS Class Guard github用法、工作原理和安装详解及使用经验总结
​iOS Class Guard github用法、工作原理和安装详解及使用经验总结
20 0
|
5月前
|
JSON 安全 数据安全/隐私保护
​iOS Class Guard github用法、工作原理和安装详解及使用经验总结
iOS Class Guard是一个用于OC类、协议、属性和方法名混淆的命令行工具。它是class-dump的扩展。这个工具会生成一个symbol table,这个table在编译期间会包含进工程中。iOS-Class-Guard能有效的隐藏绝大多数的类、协议、方法、属性和 实例变量 名。iOS-Class-Guard不是应用安全的最终解决方案,但是它绝对能让攻击者更难读懂你的程序。iOS-Class-Guard会加大代码分析和runtime检查的难度,这个工具可以认为是一个简单基础的混淆方法。由于OC的架构决定了iOS应用程序的剖析相当简单,check out一下链接就知晓了:
|
5月前
|
存储 开发工具 数据安全/隐私保护
Git和Github的基本用法
Git和Github的基本用法
|
9月前
github pages 用法详解 发布自己的网站
github pages 用法详解 发布自己的网站
215 0
|
开发工具 数据安全/隐私保护 git
Git和Github的基本用法
Git和Github的基本用法
96 0
Git和Github的基本用法
|
安全 Linux 开发工具
Git 技术篇 - 同步代码到github失败,提示non-fast-forward、error: failed to push some refs to问题解决方法,git pull的用法
Git 技术篇 - 同步代码到github失败,提示non-fast-forward、error: failed to push some refs to问题解决方法,git pull的用法
647 0
Git 技术篇 - 同步代码到github失败,提示non-fast-forward、error: failed to push some refs to问题解决方法,git pull的用法
|
2月前
|
人工智能 文字识别 异构计算
关于github开源ocr项目的疑问
小白尝试Python OCR学习,遇到报错。尝试Paddle OCR部署失败,Tesseract OCR在Colab误操作后恢复失败。EasyOCR在Colab和阿里天池Notebook成功,但GPU资源不足。其他平台部署不顺,决定使用WebUI或阿里云轻应用。求教OCR项目部署到本地及简单OCR项目推荐。
31 2
|
2月前
|
人工智能 自然语言处理 iOS开发
『GitHub项目圈选19』推荐5款本周 让人爱不释手 的开源项目
『GitHub项目圈选19』推荐5款本周 让人爱不释手 的开源项目
|
2月前
|
存储 Web App开发 人工智能
『GitHub项目圈选18』推荐5款本周 超实用 的开源项目
『GitHub项目圈选18』推荐5款本周 超实用 的开源项目
121 1