开源

你必须收藏的Github技巧

一秒钟把Github项目变成前端网站

GitHub Pages大家可能都知道,常用的做法,是建立一个gh-pages的分支,通过setting里的设置的GitHub Pages模块可以自动创建该项目的网站。
这里经常遇到的痛点是,master遇到变更,经常需要去sync到gh-pages,特别是纯web前端项目,这样的痛点是非常地痛。
Github官方可能嗅觉到了该痛点,出了个master当作网站是选项,太有用了。

选择完master branch之后,master自动变成了网站。master所有的提交会自动更新到网站。

精准分享关键代码

比如你有一个文件里的某一行代码写得非常酷炫或者关键,想分享一下。
可以在url后面加上
#L行号
比如,点击下面这个url:
https://github.com/AlloyTeam/AlloyTouch/blob/master/alloy_touch.js#L240
你便会跳到alloy_touch.js的第240行。

那么问题来了?如果我是一段代码,即多行代码想分享呢?也很简单:url后面加上
#L开始行号-L结束行号
比如,AlloyTouch的运动缓动和逆向缓动函数如下面代码段所示:
https://github.com/AlloyTeam/AlloyTouch/blob/master/alloy_touch.js#L39-L45

其实也不用记忆你直接在网址后面操作,github自动会帮你生成url。比如你点击39行,url变成了
https://github.com/AlloyTeam/AlloyTouch/blob/master/alloy_touch.js#L39
再按住shift点击45行,url变成了
https://github.com/AlloyTeam/AlloyTouch/blob/master/alloy_touch.js#L39-L45
然后你这个url就可以复制分享出去了,点击这个url的人自动会跳到39行,并且39-45行高亮。

通过提交的msg自动关闭issues

比如有人提交了个issues https://github.com/AlloyTeam/AlloyTouch/issues/6
然后你去主干上改代码,改完之后提交填msg的时候,填入:

这个issues会自动被关闭。当然不仅仅是fix这个关键字。下面这些关键字也可以:

  • close
  • closes
  • closed
  • fixes

GitHub的基本功能,生动形象~不懂英语的来学

Github的基本功能:

  • Repository:你和我一起做“知乎首页”,“知乎首页”就是Repository,即项目或者”未来武器T2级425mm磁轨炮“之类,怎么叫随你,你只需知道Repository是个放项目的地方就行。有时候会出现Repositories,是多个Repository的意思。
  • Fork:我们把制作“知乎首页“的工作分开,你负责美工,我负责前端开发,但我们还需要数据服务器高手。你找来了一位php大牛,这位大牛很快搞定了服务器端,闲来无事,就看了看我的前端代码,一看,“我靠,这怎么一点也不语义化呢?全是尼玛的清一色的<div>啊,将来做交互js还搞不搞dom了……”于是这大牛在Repository中找到了我写的“zhi.html”,Fork了一份,也就是授权拷贝。
  • Branch:Fork之后,在大牛的Github上出现了一个同样叫做“知乎首页”的Repository,但是这个Repository是复制品,只归他,这就是他的Branch,也就是分支。
  • Pull Request:大牛做完了一份全新的高端zhi.html,点了Pull Request,也就是推送请求。我接受了,看了一眼,顿时惊讶爆表,“中国足球——高,实在是高!”
  • 现在你懂了,Github的结构是Repository-Branch-(获取/推送)文件。你又发现Github可以比较两个文件的异同,新增的部分用绿色标记,删除的部分用红色标记。Pull Request还可以控制,甚至可以合并Branch,这就是团队合作利器啊,真乃高大上也,手痒了吧?心动了吧?

如何为你的开源项目选择一个合适的开源协议?

今天又看到一个同学发布维权帖子《开源 App 被人抄袭到 iOS App Store 怎么办?》这个帖子转发到技术群的时候引发了很大的讨论,大多数同学都是声援的态度,也有较真的同学在讨论 MIT License ,那么License 是什么,MIT License 又是什么?

License就是版权许可证,里面详尽表述了你获得代码后拥有的权利,可以对别人的作品进行何种操作,何种操作又是被禁止的。软件的版权许可证可有很多方式 ,本文仅限于讨论开源软件协议 Open Source License。…

Git 两分钟指南

伯乐在线注:我们发布了很多Git相关的文章,有系列教程(《Pro Git系列》),也有各种独门绝技(《让你的Git水平更上一层楼的10个小贴士》)。但这篇两分钟的Git指南算是最精简的。如果想了解更多Git相关的文章,请从这里开始。

 

以下是Git两分钟指南的正文内容。…

开源中国的 IT 公司开源软件整理计划介绍(阿里、腾讯、百度都有)

为了方便大家检索开源软件,促进开源在中国的进一步发展,开源中国从去年年底就开始在整理 IT 公司或者组织的开源软件列表。目前已经有一个初步的列表,但很多公司的软件列表还不完善,也可能会因为归属问题有一些争议,欢迎大家给我们提出纠正和改进的意见和建议。

 

此外如果贵公司开源软件数量较多,希望我们为贵公司制作一个列表,请随时与我们联系。…

常见开源协议大白话说明

GPL:只要你用了任何该协议的库、甚至是一段代码,那么你的整个程序,不管以何种方式链接,都必须全部使用GPL协议、并遵循该协议开源。商业软件公司一般禁用GPL代码,但可以使用GPL的可执行文件和应用程序。

AGPL:即Affero GPL,是GPL的更严格版本。只要你用了任何该协议的库、甚至是一段代码,那么运行时和它相关的所有软件、包括通过网络联系的所有软件,必须全部遵循该协议开源。据律师说,它的要求范围连硬件都包括。所以,一般公司通常禁用任何AGPL代码。…

开源中最好的Web开发资源汇总

法国Web开发人员 Julien Guézennec 整理汇总的有关Web开发的资源和目录,由陈皓翻译。

学习HTML 5编程和设计