最近在伯乐在线读到一篇趣文,《如何在 Github『正确』做贡献》,里面各种能人恶搞 Github 的『Public contributions』,下面截取几个小伙伴的战绩:

顺藤摸瓜,发现原来有人已经做出『玩坏』Github 的工具啦,名叫 gitfiti。主要对应预先定义的模板,进行相应日期的 commit 操作,push 至 Github 后在贡献栏中生成相应像素点,并且利用 Github 贡献数不同颜色深度不同的机制,就可以在自己的贡献栏里面看见像素画了。怎么样,是不是心动啦,那么下面就让我们开始『玩坏』之旅吧:

1. 首先得将插件下载到本地,有 Git 经验的朋友可以直接 clone 这个 repo

git clone git@github.com:gelstudios/gitfiti.git

或者点击 Github 页面的下载链接将整个项目下载到本地

2. 下载的同时在自己的 Github 中创建一个新的 repo,名字自取,不要创建 license 和 readme(防止后面 push 的时候产生冲突)。

3. 下载到本地后在命令行中运行 gitfiti.py,显出欢迎界面,此时第一条交互信息不用填写什么内容,直接回车即可。

4. 接着输入自己的 Github 用户名和刚刚新建的 repo 名。

5. 然后选择从哪里开始绘图,输入一个数字,代表从贡献栏的第几周开始(从左开始数),如果此处不输入直接回车则默认从最左边开始。

6. 接下来会提醒你,对比你已有的贡献后,一天中最大的贡献数是多少,然后让你选择本次绘图生成的像素点的最大贡献数(Github 的像素块颜色机制为贡献相对越大的那天颜色越深)。建议此处直接使用自己的最大贡献数,否则自己之前的贡献就全部变成浅绿了。

此处输入 gitfiti 就表示使用自己的最大贡献数。

7. 然后就可以选择绘图模板了,此处可以使用自定义模板或者开发者已经设定好的模板。

要使用自定义模板就在上面那一行中输入模板的文件路径,自定义模板的方法可以参见该项目的说明页。如果使用开发者设定的模板,上面一行就直接回车,然后下面选择模板,输入心仪的模板名字(模板名对应图案效果同样参见项目说明页)。

8. 一切搞定后,项目会自动生成一个 shell 脚本 gitfiti.sh,接下来运行这个脚本便可以自动commit 并 push 至你新建的那个 repo,等待一段时间,你便能在自己的贡献栏看见有趣的像素画啦。

注意:此处可能会遇见两个问题:

  • 生成的 shell 脚本没有运行权限。按下图那样运行一下 chmod 777 gitfiti.sh 即可。

  • push 不成功,一般是因为新 repo 里面已经有文件,push 产生冲突。可以打开 gitfiti.sh,修改最后一行

    git push -u origin master //改为下面这行
    git push -f -u origin master //如果有冲突强制合并

9. 晒晒自己的战果(这次『恶搞』生成了 4W+ 的贡献o(╯□╰)o),也欢迎来我的 Github看看。

10. 最后如果想取消这个效果,直接删除创建的 repo,贡献栏和贡献数就会回归正常。

祝大家玩得愉快!

Github 恶搞教程(一起『玩坏』自己的 Github 吧)的更多相关文章

  1. Github首次使用教程(本地新建项目并同步到Github远程仓库)

    网上关于Github的教程很多且有点乱,自己亲自躺坑实践,现分享出来给将要入坑的小伙伴. 主要步骤: 创建Github帐号,登录,新建仓库(远程仓库) 下载安装Git,git bash配置及简单使用( ...

  2. 『开发技巧』Python音频操作工具PyAudio上手教程

    『开发技巧』Python音频操作工具PyAudio上手教程 ​ 0.引子 当需要使用Python处理音频数据时,使用python读取与播放声音必不可少,下面介绍一个好用的处理音频PyAudio工具包. ...

  3. 2022了你还不会『低代码』?数据科学也能玩转Low-Code啦! ⛵

    作者:韩信子@ShowMeAI 数据分析实战系列:http://www.showmeai.tech/tutorials/40 机器学习实战系列:http://www.showmeai.tech/tut ...

  4. 2017-2018-2 165X 『Java程序设计』课程 结对编程练习_四则运算

    2017-2018-2 165X 『Java程序设计』课程 结对编程练习_四则运算 经过第一阶段的学习,同学们已经熟悉了这门语言基本的用法.在一次又一次对着电脑编写并提交代码,进行练习的时候,有没有觉 ...

  5. 『深度应用』NLP机器翻译深度学习实战课程·壹(RNN base)

    深度学习用的有一年多了,最近开始NLP自然处理方面的研发.刚好趁着这个机会写一系列NLP机器翻译深度学习实战课程. 本系列课程将从原理讲解与数据处理深入到如何动手实践与应用部署,将包括以下内容:(更新 ...

  6. [日推荐] 『闲聊助手』人工智能小程序,仅此一款!-极乐商店store.dreawer.com

    肾phone的siri有用过吗?小编无聊时就撩一下她!但有个问题就是要是没有肾phone在身边怎么撩???现在有伙伴@wx_Volcano_Li76 开发一款小程序,可以等同于siri,想什么时候撩就 ...

  7. 『高性能模型』轻量级网络ShuffleNet_v1及v2

    项目实现:GitHub 参考博客:CNN模型之ShuffleNet v1论文:ShuffleNet: An Extremely Efficient Convolutional Neural Netwo ...

  8. 2017-2018-2 165X 『Java程序设计』课程 团队项目备选题目

    2017-2018-2 165X 『Java程序设计』课程 团队项目备选题目 结合本课程时间安排,以及同学们的专业和课程内容,制定了以下六个题目供各小组选择.如有其他项目方案设想,可自行与老师沟通.老 ...

  9. 『Python CoolBook』Cython

    github地址 使用Cython导入库的话,需要一下几个文件: .c:C函数源码 .h:C函数头 .pxd:Cython函数头 .pyx:包装函数 setup.py:python 本节示例.c和.h ...

随机推荐

  1. Redis资料汇总专题

    1.Redis是什么? 十五分钟介绍 Redis数据结构 Redis系统性介绍 一个很棒的Redis介绍PPT 强烈推荐!非同一般的Redis介绍 Redis之七种武器 锋利的Redis redis ...

  2. Keepalived高可用软件的安装与配置

    监听和替换多台服务器之间的来回切换 一.安装tar zxvf keepalived-1.1.15.tar.gzcd keepalived-1.1.15./configure --prefix=/usr ...

  3. java 对象传递 是 值传递 还是 引用传递?

    这个问题说实话我感觉没有太大的意义. 按第一印象和c++的一些思想去理解的话对象传递是引用传递,因为传递过去的对象的值能被改变. 但是又有很多人,不知道从哪里扣出来一句,java中只有值传递,没有引用 ...

  4. 使用BlockingQueue的生产者消费者模式

    BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利.使用场景. 首先它是一个队列,而一个队 ...

  5. Spark作业调度

    Spark在任务提交时,主要存在于Driver和Executor的两个节点. (1)Driver的作用: 用于将所有要处理的RDD的操作转化为DAG,并且根据RDD DAG将JBO分割为多个Stage ...

  6. DBA_Oracle DBA常用SQL汇总(概念)

    2014-06-20 Created By BaoXinjian

  7. linux命令(7)killall

    killall命令: Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name).我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀 ...

  8. HTML5列表、块、布局

    一.列表 <ol>  无序列表  (每项前有.) <ul>  有序列表   (每项前有编号1,,2,3) <li>   列表项 <ul type=" ...

  9. myBatis获取批量插入数据的主键id

    在myBatis中获取刚刚插入的数据的主键id是比较容易的 , 一般来说下面的一句话就可以搞定了 , 网上也有很多相关资料去查. @Options(useGeneratedKeys = true, k ...

  10. Axis2的下载和安装

    Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物.Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebService,同时还支持S ...