1. 程式人生 > >GitHub 貢獻面板新玩法

GitHub 貢獻面板新玩法

程式碼請移步GitHub(https://github.com/YES-Lee/git_painter)

無聊的時候刷GitHub發現,好多大牛主頁的貢獻記錄都是一片綠色,比如阮一峰老師的,如下圖。
於是也想把自己的全部刷成綠色,在折騰的過程中覺得就一片綠好像沒意思,於是就有了如下效果。

阮一峰的github
阮一峰老師的GitHub

我的github
我的GitHub

簡介

  • 原理
    操作原理很簡單,GitHub貢獻記錄顯示是給予提交時間的,只需要修改系統時間之後再commit就OK啦

  • 功能

    1. 一個指令碼自動搞定
    2. 方便的自定義形狀
    3. 設定定時任務,每天自動commit
      &push

重要: 由於有一些坑,為節約大家時間,請看完教程再進行操作

使用方法

將該專案下載到本地,本地需要使用Linux作業系統,直接放伺服器上也可以。
下載完之後先刪除.git資料夾

git clone [email protected]:YES-Lee/git_painter.git && cd git_painter && rm -rf .git // 可以直接下載zip在解壓

重新初始化git

git init
git add .
git commit -m 'init'

然後執行loop指令碼刷記錄,等待結束

python loop.py

GitHub,將該專案推上去,然後就可以到GitHub上看效果啦

git remote add origin {倉庫地址}
git push -u origin master

在伺服器部署自動commit

crontab -e
#  輸入以下程式碼,前兩個引數分別是分鐘和小時,該任務為每天12:00定時執行
# 00 12 * * * cd /home/git_heart && git pull && /usr/bin/python main.py

引數說明

main.py用於在服務端執行定時任務的指令碼,loop.py

用來刷之前的記錄

#  loop.py
#  自定義圖形
PATTEN = [  # 圖形矩陣,可以通過修改該變數來設定不同的圖形,行建議最多不超過7行
    [0, 1, 1, 0, 0, 0, 1, 1, 0, 0],
    [1, 1, 1, 1, 0, 1, 1, 1, 1, 0],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 0],
    [0, 1, 1, 1, 1, 1, 1, 1, 0, 0],
    [0, 0, 1, 1, 1, 1, 1, 0, 0, 0],
    [0, 0, 0, 1, 1, 1, 0, 0, 0, 0],
    [0, 0, 0, 0, 1, 0, 0, 0, 0, 0]
]


# 修改提交次數,次數越多顏色越深,耗時也越長
def commit(flag):
    if flag:
        for n in range(39):
            with open('./record.txt', 'a') as record:
                record.write('.~^~')
                record.close()
                os.system('git commit -a -m \"HeartBeat\"')
...

# 開始日期,在GitHub主頁檢視左上角日期
START_DATE = '2017-7-16'  # 開始日期, 碼雲和git顯示不一樣, 建議從最左上角開始
...

才過的坑

  • GitHub將專案刪除後記錄也會隨之消失,但是碼雲不會(碼雲已經被我弄的一團糟)
  • GitHub從上到下是週日到週六,碼雲是週一到週日,兩個要分別重選時間commit

圖形展示

  • 小心心❤️
[
  [0, 1, 1, 0, 0, 0, 1, 1, 0, 0],
  [1, 1, 1, 1, 0, 1, 1, 1, 1, 0],
  [1, 1, 1, 1, 1, 1, 1, 1, 1, 0],
  [0, 1, 1, 1, 1, 1, 1, 1, 0, 0],
  [0, 0, 1, 1, 1, 1, 1, 0, 0, 0],
  [0, 0, 0, 1, 1, 1, 0, 0, 0, 0],
  [0, 0, 0, 0, 1, 0, 0, 0, 0, 0]
]

小心心

  • X(原諒鄙人想象力不夠豐富)
[
  [0, 0, 0, 0, 0],
  [1, 0, 0, 0, 1],
  [0, 1, 0, 1, 0],
  [0, 0, 1, 0, 0],
  [0, 1, 0, 1, 0],
  [1, 0, 0, 0, 1],
  [0, 0, 0, 0, 0]
]

X

此專案始於無聊,終於裝逼,僅供娛樂,請勿用於其他操作