はじめに
今年に入ってから、プログラミングを習慣化するためにGitHubの草を生やし続けることを試してみました。
結果として毎日の習慣化自体には成功しましたが、草生やしはプログラミングを習慣化するのにあまり適していないと感じたので、その理由を共有します。
1. 目的と手段がずれている
前提として、目的は「プログラミングを習慣化すること」です。
しかし、GitHubの草は、あくまで「コミットをしました」という事実を示すものであり、コミットするほどの変更がない場合、記録できません。
そのため、草を生やすために内容が中途半端なままコミットをし、履歴が追いにくくなりました。
2. 簡単に記録が消える
草はあくまでコミットの履歴なので、コミットそのものが削除された場合、草も枯れてしまいます。
そのため、草を残しておくためだけに不要なリポジトリやブランチを残さなければならなくなり、管理が煩雑になりました。
また、修正漏れをgit commit --amendなどで追加すると、過去のコミットが上書きされてしまい、そういった場合でも草が枯れてしまいます。
結果として、修正漏れに気づいたのが翌日以降だった場合、修正漏れのためだけのコミットをわざわざ作成することになりました。
その他
これは特殊なケースですが、自分はメモの管理をObsidian Gitで行っています。そのため、自動でコミットが作成され、プログラミングをしていなくても草が生えてしまうことがありました。
まとめ
以上の理由から、プログラミングの習慣化のためにGitHubの草を生やすのはあまり適していない(弊害が大きい)と感じました。

