tomatoaiu の Tech Blog

プログラミングやツールについてのまとめブログ

1年間githubに草を生やそうと思ったが251日で途絶えた話 | 草をはやすメリットデメリット

2018/4/3から継続して草を生やしていたが、2018/12/10に草を生やすことができなかった。

github_grass.png

草を生やすことを忘れた原因

原因は主に「毎日1笑いも目指した」と「github notifyでたくさん通知を出したくなかった」の2つ。 これらの原因で草を生やすことを忘れた。

毎日1笑いも目指した

最近、毎日1笑いを目指し、youtubeでお笑い芸人の動画を深夜まで見た。 これにより、コードと向き合う時間が減り、草を生やす意識がとんだ。

github notifyでたくさん通知を出したくなかった

とあるリポジトリは、コードをコミットしてプッシュするとlineグループに通知が出るようになっていた。 草を生やすことができなかった日にコードは書いていたが、lineの通知は最小限にしたいと思い、 そのとあるリポジトリへのコミットやプッシュを潜在的に躊躇った。

githubの草について

そもそもgithubの草って何?

私の中では、githubのYour Profileに表示されるヒートマップのこと。 コミットやマージ等を行うと一日を表すマスが緑色になるため通称「草を生やす」。

どうしたらgithubには草が生えるの?

私の把握しているものだとこれらのことで草が生える。

  • デフォルトブランチへのコミットまたはマージ
  • issueを立てる
  • githubにリポジトリを作成

詳しくはこちら、githubのサイト

どうして一年間githubに草を生やそうと思ったの?

  • 自慢できそう
  • 何か得られるものがありそう
  • 私の所属している研究室の先輩が一年間草を生やしていることに感銘を受けたから

どんなことをしていたの?

  • Vue.jsライブラリの作成
  • デザインパターンの勉強
  • アルゴリズムの勉強
  • フレームやライブラリの勉強
  • 触っていない言語に触れてみる
  • サービス作成に挑戦

毎日草を生やすメリット

技術的な知見を得られる

何かを作成するための必要な技術を調べるだけでも得られるものがある。 また、実際に作成しても得られるものがある。 とにかく得られるものしかないと思っている。

義務感が出る

他に草を生やしてる人の記事を見ると、義務感が出て何のために草を生やしていたんだろうとなることがある。 私の場合は、自分の行動から生じた義務感により強制的に技術的な知見を得ることができた。義務感っぽくなって嫌になるのも分かるけど、知見は必ず 増える。しかし、義務感により、雑なコミットがいくつも生じた。

毎日草を生やすデメリット

コミットの粒度がぐちゃぐちゃになる。

草を生やすためには、issueを立てる以外ではコードを書いてコミットしなければならない。 また、それを24時間以内に行わなければならない。 そのため、雑な感じでコミットを行うことをが多々あった。 それによるコミットのまとまりのなさが生じた。
git rebase -igit merge --squash等でコミットをまとめるのが……。

たまに辛い

私の場合は、たまにコードを書くのが辛い日がある。 時間的に余裕が取れない日が出てくると大変。
他にも、デフォルトブランチへコミットかマージをしなければならないのが辛い。この仕様をしらないと「あれ?なんでコミットしたはずなのに草が生えないの??バグ???」とか思ってしまう。

小技

24時間以内にgithubへpushする必要はない。1日以内にローカルかどこかでデフォルトブランチへコミットしておけば、あとからpushしても草が生える。なので、「昨日pushするの忘れた!」と思っても、昨日の内にデフォルトブランチへコミットしておけば、気づいたときにpushすることで草が生える。その他、git mergeでも同様に、わざわざpushしなくても、過去にコミットしていればちゃんと反映されるはず。もしかしたらgit rebase -igit merge --squashをやって過去のコミットを消すと草が消えるのかな?

また1から

また1から始めます。今度は濃いめの草をたくさん生やしたい。