(本記事はネタ記事です)
いやー2020年も終わりですね。みなさんいかがお過ごしでしょうか?
僕は今年1月に「毎日10コミットをする」という抱負を立てていました。そしてなんとこのたび、毎日10コミットを達成しました!!
仕事がある日もお休みの日もがんばった甲斐がありました!!来年も達成できるようがんばりたいです!
…というのはメチャクチャ嘘です。このコミットは単なる偽装で、実際には毎日コミットできていません…
毎日10コミット"したことにする"
毎日10コミット"していたように偽装する"トリックは、Git コマンドにあります。
Git には、コミットをする際に「コミット日時を指定するオプション」があります。
$ git commit --allow-empty -m 'fake commit' --date='2020-01-01 13:00:00 +0900'
たとえば、上のコマンドを叩くと、日付が現在時刻ではなく2020年1月1日のコミットが行われます。もうお分かりですね。あとは日付をずらしながらコミットを実行することで、毎日コミットしていたことにできます。スクリプトがこちらです。
#!/bin/bash for i in {0..365}; do echo git commit --allow-empty \ -m 'fake commit' \ --date="`ruby -e "p Time.at(Time.new(2020,1,1,13,0,0,'+09:00').to_i + $i*24*60*60)"`" done
(ここでは ruby を使って日付を生成していますが、dateに指定できるフォーマットになってさえいればなんでもOKです)
あとは、この嘘コミットが含まれたリポジトリを GitHub へ push して完了です。この偽装コミットはきちんと草に反映されます。
注意事項: 悪用厳禁
当たり前ですが、悪用は厳禁です。たとえば面接前日にこのスクリプトを実行して「毎日 GitHub へコミットをがんばっています!」とアピールしても、あなたも含めて誰も幸せになりません。ゼッタイにしないでください。
ちなみに: 一度に大量のコミットをpushすると草が反映されなくなる
上記の画像のあと、さらにコミットを行ったのですが、なぜかコミットが草に反映されなくなりました。一度に大量のコミットをしたせいで反映されなくなったのでしょうか…?
累計6000コミット(1日あたり17コミット)したはずですが、現時点では1日あたり7コミットで表示されています。僕の10コミットはどこへ行ったのでしょうか・・・?まあ、ごまかしてもダメだよということですかね。