这几天朋友圈被微软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://<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
手机上打开这些搭建在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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:
相关推荐
github-copilot-intellij-1.4.15.4632.zip.cab
github-issue-mover 是能快速迁移 github 上问题的工具。功能如下:Copy the issue in the destination repoAdd references between the issuesClose the original issue在linux操作系统中,repo=repository, 表示...
github-recovery-codes.txt
github-to-wordpress-deploy-script, 在Github上和部署到 WordPress,Bash脚本处理标签 到 WordPress.org-部署脚本我们都知道发布插件可以能是一件非常糟糕的事情,深深地讨厌 SVN,这是一个简单的小脚本。...
在实际应用中,dagster-github可能被用于数据工程或持续集成/持续部署(CI/CD)流程,因为它与Dagster——一个强大的数据操作和编排平台有关。Dagster提供了一种方式来定义、运行和管理数据作业,而dagster-github扩展...
GitHubDesktop-2.6.1-delta.nupkg
搞不懂为啥好多资源都需要关注公众号或者看视频才能下载。 ---------------------------------------------------------------- ---------------------------------------------...我也是找了好久才在其他的仓库中找到
2. 导入库:在Python代码中,首先需要导入`github2pandas`,通常写为`import github2pandas`。 3. 配置GitHub API:在使用库之前,可能需要设置GitHub的API访问令牌,以便有权限获取数据。这可以通过调用库的函数来...
GitHub Desktop 离线安装 2017-01-06 最新版 注意:因为文件大小超过70无法上传,所以分开两个文件上传。 下载时要两个都下载
GitHub个人资料摘要卡此仓库受启发 :star: 此回购只是为了好玩,随时可以贡献! :star: 该操作将生成您的github个人资料摘要卡,...GitHub动作用法动作完成后。 您可以看到所有摘要卡都在名为profile-summary-card-outp
Css for markdown windows
GitHub Pages部署操作 :rocket: 此将自动将您的项目部署到 。 可以将其配置为将生产就绪的代码推送到您想要的任何分支中,包括gh-pages和docs 。 它还可以处理跨存储库部署。入门 :airplane: 您可以在您的工作流中...
3. **分页处理**:GitHub API通常返回结果的分页,使用库提供的方法处理分页,以获取所有数据。 4. **遵循Rate Limiting**:了解并遵守GitHub的Rate Limiting规则,以防止被限制。 `githubapi2`库是开发人员与...
github-release-maven-plugin 一个用于创建GitHub版本的Maven插件,包括资产附件和版本说明用法在项目中设置pom.xml < project> [...] < build> < plugins> < plugin> < groupId>... repository
视频: : 安装使用安装 ipm install sync-github-project-todo-md配置设置可以从获取的GitHub个人令牌首选项>插件> sync-github-project-todo-md> github_token用法准备:您的注释应包含GitHub项目URL,例如...
all-your-github-are-belong-to-us, 将所有GitHub数据保存到一个地方,private & public Webhook 你的github所有的都属于我们GitHub是一个非常棒的工具- 我经常使用它。 我想了解更多我如何在GitHub上工作,但我没有...
是github-user-or-org 确定GitHub个人资料是用户还是组织安装$ ...用法const isGithubUserOrOrg = require ( 'is-github-user-or-org' )isGithubUserOrOrg ( 'RichardLitt' )//=> 'User'APIisGithubUserOrOrg(输入)输
基于java的开发源码-github-Java-api.zip 基于java的开发源码-github-Java-api.zip 基于java的开发源码-github-Java-api.zip 基于java的开发源码-github-Java-api.zip 基于java的开发源码-github-Java-api.zip 基于...
Tool_for_visualizing_GitHub_profiles_profile-summary-for-github
GitHub分支映射器 解析分支名称,并可选地映射到环境名称 ... yarn run_action --action github-ref-to-env --github-ref refs/heads/my/branch-name --map '{ "dev": "staging", ".*": "sandbox