Corredor

ウェブ、プログラミングの勉強メモ。

GitHub に草を生やすシェルスクリプト「gh-contributions」を作った

GitHubツールビルディング ―GitHub APIを活用したワークフローの拡張とカスタマイズ

GitHubツールビルディング ―GitHub APIを活用したワークフローの拡張とカスタマイズ

GitHub に自動的にを生やすシェルスクリプト「gh-contributions」というものを作った。

Windows の GitBash で動作確認した。Mac 等でも使えるはず。ご利用はご自由にドウゾ。

仕組み

git commit --date オプションを利用し、コミット日時に過去日を指定してコミット情報を作っている。これを指定の日数分だけループ処理しているだけ。

--date オプションについては以前も紹介した。

neos21.hatenablog.com

シェルスクリプト内で単純に git commit コマンドを叩いているだけなので、予め GitHub Contributions が有効になるよう、GitHub に登録した情報と同じ Git ユーザ情報を設定しておくこと。

シェルスクリプトの使い方

gh-contributions.sh を任意のリポジトリの master ブランチ (GitHub Contributions が有効になるブランチ) に配置する。

gh-contributions.sh を開き、変数 STARTEND を任意の日付に設定する。YYYY-MM-DD 形式が望ましい。この START の日付から END の日付まで、1日1コミットを生成する。

設定ができたら gh-contributions.sh を実行する。

$ sh ./gh-contributions.sh

するとカレントディレクトリの gh-contributions.md に日付を追記しつつ、1日につき1つの git commit を生成する。

これでコミット履歴ができたので、あとは git push すれば GitHub に反映できる。

シェルスクリプトを作るにあたって参考にしたもの