はじめに
みなさんはプライベートでもコードを書いているでしょうか。
私は新卒で入社して今年で2年目ですが、1年目の時は本を読んだり、機械学習のアルゴリズムを勉強するほうを優先していたため、実際にコードを書く機会は少なかったです。
機械学習の理論を勉強するなら、書かなくてもよいとは思いますが、いざ実践でやろうと思うとコードを書いていないことからできないことというのが多くなってしまいます。
また、実践(コードを書いて)で勉強していったほうが技術力は格段に上がると思います。
私は実装力というのがまだまだでやりたいことができないと度々痛感し、とりあえずの目標としてGitの今トリビュートカウント(通称:草)を毎日更新しよう掲げました。
「Twitterなどをみていると1年間更新しました」というのが回ってくることがちらほらあって始めることにしました。とりあえず毎日コードを書く習慣をつけていきたいと思ってです。
(こういうのを目指しています)
そして、この記事を書いているのが28日目に事件は起きました。
問題
28日目はデータ分析コンペに取り組んでいました。
特徴量を作成して、訓練してを繰り返して気づいたら5時間程度作業をしていました。
そして時間をみると次の日の00:12分。
もちろんGitのコントリビュートは行っておらず、草が生えていません。
毎日頑張ってきたのに自分のミスで草を生やし損ねてしまったのです。
1年頑張ろうとしたのにまさかの序盤の自分のミスで失敗するとは思いませんでした。コード書いてるので余計に悔しい!
そこで今回はそのような状況になったので、普段なら調べることのない「過去の日付でPushして草を生やす方法」について調べてみましたのでまとめます。
解決方法
git add .
git commit --allow-empty -m "コミットメッセージ" --date="May 27 23:59:59 2021 +0900"
このようにcommit
に引数を渡すことで過去のコミットとして扱うことが可能でした。
これで、過去の日付でも草を生やすことが可能です。
無事草が生えました!
これでこの先も続けて行けそうです!
ちなみに、調べたサイトによると
24時間以内にgithubへpushする必要はない。1日以内にローカルかどこかでデフォルトブランチへコミットして
おけば、あとからpushしても草が生える。なので、「昨日pushするの忘れた!」と思っても、昨日の内にデフォ
ルトブランチへコミットしておけば、気づいたときにpushすることで草が生える。
とのこと。こまめなPushが大切だということを実感しました。
おわりに
この方法をすることで過去でも大丈夫であることがわかりましたが、これに頼って不正してしまわないようにしたいです。今回のようなことが起きないように注意して、なるべくこの方法は使わないようにします。
そして、この事件で学んだのはコミットの単位についてです。
コミット単位をいままで考えず、その日の作業が終わったらとしていましたが、どの単位でしていくのかを決めていきたいです。そうすれば、過去にコミットしたものをPushすることで日付をまたいでしまって記録が続かなかったというのは防止できるかと思います。
モチベーションを上げるために、草を生やすことを目標にするのはいいことだと思いますのでぜひ試してみてください。
参考サイト
過去日付でGithubの草を生やす
1年間githubに草を生やそうと思ったが251日で途絶えた話 | 草をはやすメリットデメリット