git challenge に参加しました

11/15 に mixi で行われた git challenge に参加しました.

alpha.mixi.co.jp

チームで git を使っているが,雑に使うやつのせいで,余計なファイルが入ったり,ブランチが無くなったりして困った,というシチュエーションの問題を解決する,コンテスト形式のチャレンジでした. 問題数は20問弱,問題のレベルは星の数で分けられており,星1~星3と星6(ラスボス,正解チーム無し)がありました.

f:id:tatarhy:20151117183550j:plain

結果

優勝してメダルを頂きました.チームメンバーに恵まれました(他のチームより1人多いという点も含め).

感想

私個人としては,星3の問題に取り掛かったけど解けなかったことが心残りでした.

この星3の問題,発想を転換して cherry-pick を使えば良いことが分かれば簡単に解けるという問題でした (rebase で頑張ってもできるらしい).

しかし,この発想に至れなかった. こういった問題は歴史がややこしくなっているので, 図を描いて状況を整理することが必要らしいです. また,git のしくみの理解があいまいで, reflog を使うと何が見られるんだったっけ? とか, 歴史を改変するとハッシュ値が変わってヤバいんだっけ? とか混乱してうまく方針を立てることができなかったことも原因になったと思います.

git の概念やしくみ理解していることが git 力の向上にもつながるそうなので, もう一度おさらいしたいと思いました.

ちなみに

一応焼き刃を付けておこうと思って急遽渋谷行きの列車の中で 入門git の後ろの章を眺めていて, まだ知らなかった便利なコマンドがあるんだなぁでも使わないかもなぁと思っていたら,適用できそうな問題があって, 面倒臭そうな事象が一発で解決できて,あーめちゃ便利ってなったことをここに報告します.

まとめ

  • 今まで使わなかった git コマンドを知ることができ,その便利さを体験することができた
  • git を使う上で足りていないスキルが分かった
  • git を雑に使うとヤバい

という訳で楽しかったし勉強になった git challenge でした. ありがとうございました.

入門git

入門git