梦里风林
  • Introduction
  • Android
    • activity
      • Activity四种启动模式
      • Intent Flag
      • 多task的应用
      • Task和回退栈
    • sqlite
      • 【源码】CursorWindow读DB
      • Sqlite在Android上的一个Bug
    • Chromium
    • ListView读取DB数据最佳实践
    • Android Project结构
    • 一个由Proguard与FastJson引起的血案
    • 琐碎的一些tips
  • Computer Vision
    • 特征提取
    • 三维视觉
    • 计算机视觉常用工具
    • 浅谈深度学习数据集设计
    • 随笔
  • Machine Learning
    • 技巧
      • FaceBook: 1 hour training ImageNet
      • L2 Norm与L2 normalize
    • 实践
      • Pytorch实验代码的亿些小细节
    • 工具
      • Tensorflow学习笔记
      • MXNet踩坑手记
      • PyTorch踩坑手记
      • PyTorch模型剪枝
      • Keras踩坑手记
      • mscnn
      • Matlab
        • Matlab Remote IPC自动化数据处理
    • Papers
      • Classification
      • Re-identification
        • CVPR2018:TFusion完全解读
        • ECCV2018:TAUDL
        • CVPR2018:Graph+reid
        • Person Re-identification
        • CVPR2016 Re-id
        • Camera topology and Person Re-id
        • Deep transfer learning Person Re-id
        • Evaluate
      • Object Detection
        • 读论文系列·干货满满的RCNN
        • 读论文系列·SPP-net
        • 读论文系列·Fast RCNN
        • 读论文系列·Faster RCNN
        • 读论文系列·YOLO
        • 读论文系列·SSD
        • 读论文系列·YOLOv2 & YOLOv3
        • 读论文系列·detection其他文章推荐
      • Depth
      • 3D vision
        • 数据集相关
        • 光流相关
      • Hashing
        • CVPR2018: SSAH
      • 大杂烩
        • CNCC2017 琐记
        • ECCV 2016 Hydra CCNN
        • CNCC2017深度学习与跨媒体智能
        • MLA2016笔记
    • 《机器学习》(周志华)读书笔记
      • 西瓜书概念整理
        • 绪论
        • 模型评估与选择
        • 线性模型
        • 决策树
        • 神经网络
        • 支持向量机
        • 贝叶斯分类器
        • 集成学习
        • 聚类
        • 降维与度量学习
        • 特征选择与稀疏学习
        • 计算学习理论
        • 半监督学习
        • 概率图模型
        • 规则学习
        • 强化学习
        • 附录
  • Java
    • java web
      • Servlet部署
      • 琐碎的tips
    • JNI
    • Note
    • Effective Java笔记
  • 后端开发
    • 架构设计
    • 数据库
    • java web
      • Servlet部署
      • 琐碎的tips
    • Spring boot
    • django
    • 分布式
  • Linux && Hardware
    • Ubuntu安装与初始配置
    • 树莓派相关
      • 树莓派3B+无线网卡监听模式
      • TP-LINK TL-WR703N v1.7 openwrt flashing
  • Python
    • django
    • 原生模块
    • 设计模式
    • 可视化
    • 常用库踩坑指南
  • web前端
    • header div固定,content div填充父容器
    • json接口资源
  • UI
  • kit
    • vim
    • git/github
      • 刷爆github小绿点
    • Markdown/gitbook
      • 琐碎知识点
      • gitbook添加disqus作为评论
      • 导出chrome书签为Markdown
      • Markdown here && 微信公众号
    • LaTex
      • LaTex琐记
    • 科学上网
    • 虚拟机
  • thinking-in-program
    • 怎样打日志
  • 我的收藏
  • 琐记
    • 论文心得
    • 深圳买房攻略
  • 赞赏支持
由 GitBook 提供支持
在本页
  • green
  • 关键代码
  • heavy

这有帮助吗?

  1. kit
  2. git/github

刷爆github小绿点

上一页git/github下一页Markdown/gitbook

最后更新于6年前

这有帮助吗?

转载请注明出处:

工程,欢迎star!!!

大家都知道,可以从Github上的小绿点看到这个人在Github上的提交代码情况,然而,这天却发现了这样一个bug:

首先github统计小绿点的逻辑是这样的:

然后,某次因为某些原因删工程,发现,对应的小绿点也不见了,并且streak时间也变了

于是猜想,删resp会减小绿点,加resp呢?

于是猜想,删仓库会减小绿点,加仓库呢?

  • 测试一下,加回来刚刚删的工程,立竿见影,过去日期的小绿点又回来了。

说明,小绿点的时间与push时间没有关系,而是与commit时间相关。

  • 再做一个测试,修改系统时间为A,commit,push,发现小绿点出现在A时间点

说明,小绿点的时间与git commit时的本地时间相关

于是衍生了这个工程,python脚本刷遍小绿点=。=

程序员就是懒啊。。。

改系统时间,commit!

  • 这个工程有两个模块,green和heavy,分别实现地毯式浅色提交与集中式深色提交

green

浅色提交

修改green.py中,main部分传入你需要刷的起始时间和结束时间,

if __name__ == '__main__':
    daily_commit(datetime.date(2015, 3, 31), datetime.date(2016, 1, 28))

在green目录下,

sudo python green.py
git push origin master

就能通过修改系统时间实现过去的commit,从而刷遍过去的小绿点(如果是fork工程而不是自己的工程,要提PR)

因为修改系统时间使用了date命令(我的环境是ubuntu,windows要用另外的命令),所以要用sudo提高权限执行,否则执行后都是今天的commit

关键代码

def trick_commit(year, month, day):
    set_sys_time(year, month, day)  # 设置系统时间
    modify()  # 修改文件
    commit()  # 调用git commit

具体每个函数的实现可以看green.py,主要是通过系统调用实现

heavy

深色提交

在heavy.py中,main部分传入小绿点方阵最左上角(第一列周日)的日期,要commit的文件所在的目录,配置文件的目录,即可做深色提交

if __name__ == '__main__':
    love_commit(datetime.date(2015, 3, 1), '/media/Software/coding/python/loveci/only.you', 'etc/love')

关于配置文件

  • 特殊形状通过etc目录下的文件中,配置想要commit的index来实现,当前etc中的love可以实现I ❤ U的效果

这些index的含义是,从github小绿点方阵左上角第一个位置(第一列周日的位置),往后的天数

似乎是因为git commit的本地记录有上限,一次提交太多commit而没有push,最前面的一部分的commit会丢失,所以一次push的commit不要太多哦,否则就要改配置文件再push一下来补上了

今天还发现一个现象,修改github上自己对应的邮箱,commit记录也会变化,也就是,如果关联了一个有很多commit记录的邮箱,就会自然地有很多小绿点了吧

最后,致敬明知Streak有bug,但仍然坚持Streak的人。

可以通过这个android工程方便的得到需要commit的index:

建议新建另一个工程,对它做提交,这样可以通过删除那个工程来达到去掉错误提交的效果,我的heavy工程是

grid
love
https://ahangchen.gitbooks.io/windy-afternoon/content/kit/git/green_blush.html
地址
戳
img