最近在伯乐在线读到一篇趣文,《如何在 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. 【Struts2学习笔记-6--】Struts2之拦截器

    简单拦截器的使用 拦截器最基本的使用: 拦截方法的拦截器 拦截器的执行顺序 拦截结果的监听器-相当于 后拦截器 执行顺序: 覆盖拦截器栈里特定拦截器的参数 使用拦截器完成-权限控制 主要完成两个功能: ...

  2. Zabbix agent on Microsoft Windows

    1.在Windows上创建目录: C:\Windows\zabbix\ 2.下载安装包并解压到新建的目录 3.下载地址:http://www.zabbix.com/downloads/3.0.0/za ...

  3. Linux xargs命令

    xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从 ...

  4. JavaScript中Call()以及Apply()的应用

    apply()和call()的真正用武之地是能够扩充函数赖以运行的作用域 三点说明: 1.每个函数都包含两个非继承而来的方法:apply()和call(). 2.他们的用途相同,都是在特定的作用域中调 ...

  5. Android Gradle实用技巧——APK文件名中加上SVN版本号,日期等

    有时候,我们会希望能把APK文件名上带上打包日期,打包时svn的版本号,应用版本号等.当然这些也可以手动添加,但是手动的话也未免太不优雅了,而且可能会出错. 利用Gradle,我们可以让打包出来的ap ...

  6. OpenGL 开始学习指南

    近期需要做一个涌潮的预报与仿真模拟,为了使模型更具有真实感,且逼真,使用起来更灵活.感觉还是得从基础的OpenGL学习.鉴于Direct3D技术存在的众多不确定性,且评论不太好的原因,决定用OpenG ...

  7. 使用C#的is和as操作符来转型

    开发人员经常需要将一个对象从一种类型转换为其他各种类型.C#不要求任何特殊语法即可将一个对象转换为它的任何基类型,因为向基类型的转换被认为是一种安全的隐式转换.然而,将对象转换为它的某个派生类型时,C ...

  8. catalan数及笔试面试里那些相关的问题(转)

    一.catalan数由来和性质 1)由来 catalan数(卡塔兰数)取自组合数学中一个常在各种计数问题中出现的数列.以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名. 卡塔兰数的一般项 ...

  9. 深入ThreadLocal之一

    想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理.首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码 ...

  10. Think in UML笔记第1章--为什么要UML

    1.1 面向过程还是面向对象 面向过程和面向对象都是一种软件技术.例如把面向过程归纳为结构化程序设计.DFD图.ER模型.UC矩阵等,而面向对象则被归纳为继承.封装.多态.复用等具体的技术.事实上,上 ...