当前位置: 首页 > 后端技术 > Python

如何在Github贡献板上创建自己的像素涂鸦

时间:2023-03-26 13:43:28 Python

工作累了吗?身体虚弱?没时间提交代码?在你的Github主页上看到去年的0贡献是不是很沮丧?别着急,现在你不仅可以弥补空闲时间,还可以在上面创作属于你自己的独一无二的像素涂鸦作品,画一颗心向TA表白爱意,画一个蛋糕纪念你的生日,给满满的发挥你的创造力。Gayhubs,哦不,Github的小伙伴们,你们应该知道Github在个人主页上有贡献版块。它使用不同的颜色来显示您在特定时间段内提交的次数。颜色越深,你当天承诺的越多。做的次数越多,但是我这个菜鸟,总觉得自己的贡献面板和boss有天壤之别。别人的Github:我的Github:看看别人的绿意是不是有点心酸,再看看自己去年的0贡献?一有空就无聊,研究了一下Github贡献板统计显示的规则,发现这玩意还是动态生成的。什么是动态生成?也就是说,Github在生成贡献热图的时候,会实时统计你创建的所有仓库的commit状态。比如你有一个仓库A,仓库A在某一天提交了一个commit操作,那么对应的Github贡献板对应的日期就会出现一个小绿点。小绿点的颜色与您提交的次数成正比(但不是绝对的)。但是当你从Github上删除A仓库时,这个小绿点也会随之消失,这就叫动态生成。(国内Gitee码云投稿面板是一次性生成的绿点,不会随着相关仓库的删除而消失,请谨慎操作!)那么小绿点的深度具体有什么规定呢?需要提交多少次才能成为最深的绿色?我在官方Github上没有找到关于这个规则的解释,不过网上可能有大佬自己测试过。甚至还有评论说已经给Github官方发了邮件,但这居然是保密的?哈哈哈,估计细节可能不是很准确。毕竟官方是不愿意说的,肯定有不为人知的秘密,但大体上的规矩肯定和上图老板说的差不多。说了这么多,如何实现投稿面板任意修改呢?时间会倒流吗?真正切中要害,关键是时间。事实上,Github统计的commit时间取决于Git仓库中记录的commit时间,提交到Git仓库的时间是可以修改的。由于本人对Git命令不是很熟悉,一开始想到了通过修改系统时间来改变commit时间,发现可行。后来发现commit命令有个--date参数,可以实现提交时间的自定义。格式为:gitcommit--date="月日时间年+0800"-m"commit"例如:gitcommit--date="May79:05:202016+0800"-m"submit"这样你可以提交过去的时间。不过需要注意Github的统计时间。按照官方的说法,是基于UTC时间。不过我发现好像和Github服务器所在地的时区有关。我访问的服务器估计是在旧金山,比北京时间晚16个小时,也就是说如果你想让Github统计的时间是0:00,那你就得把北京时间设置成16:00。我们已经实现了自定义提交时间,接下来的事情就简单了。如果我们想在Github贡献板上实现任意涂鸦,其实只需要知道某一天需要commit多少次即可。自定义提交时间用于决定我们想要哪些格子有颜色,而提交次数决定了颜色的深浅,所以通过两者的结合,我们可以很容易地创建自己的像素风格的涂鸦。原理就这么简单,纯属无聊,如果你也想玩,可以照着方法试试。如果觉得自己写麻烦,可以直接用我写的工具。项目地址:https://github.com/qinshuang1...里面有一个html写的designer设计器,打开后会生成一个和Github一模一样的贡献板,可以通过点击控制网格的颜色鼠标放在上面,从而画出你想要的图形,最后点击export,会生成一个out.qs文件,然后使用commit.py的python脚本读取它,对本地的Git仓库进行commit操作(需要提前准备好运行的Git仓库,脚本中的文件路径等参数需要自行更改),运行后将本地仓库push到Github,即可看到自己设计的像素图形(生成时间不确定,可能在24小时内)。我用它画了一个像素图案来纪念我出生那年的生日,还搭配了一个蛋糕。哈哈哈,你也试试吧。艺术无处不在,Github应该不会放过。注意:本项目仅供娱乐,请勿以不正当方式使用!项目不对由此产生的任何纠纷负责。