Kanazawa.rb Meetup 11 で喋ってきた

「『意識高い』もくもく」なのに合計すると1時間くらい喋ってた。皆さん、邪魔してごめんなさい。

今回喋ったのは

  • できる!Meetupデザイン
  • Git小咄二題

の二つ。

特に Git の方は前回 meetup 10 でみんなが避け気味だったけど実際やるときにはできた方がいい reset –hard と rebase の話を中心にするという大胆な構成。と言ってもそんな難しい話ではない。

  • コミットオブジェクトは自身の参照先を知っている
    • だから Pro Git の図の矢印は人間の感覚の反対方向を向いている。このことは知ってないとダメ。
    • Subversion と違ってコミットオブジェクト自身が関係を持っているのでそれを組み替えることができる。これが rebase
  • rebase はコミットオブジェクトの同一性にこだわらなければ実際の pull/push をスムーズにするのに使えばいいよ
  • reset –hard は rebase の反対向きに使える
    • これを知っていればたぶん stash を使う場面はほとんどなくなる。commit 以外の作法を知るのは面倒なのでもう全部 commit しちゃえばいいよ。

今回は rebase -i は無視。

喋ったあとに軽くディスカッションして、自分はコミットオブジェクトの同一性に何もこだわっていないんだなぁということに気がついた。

diff が合っていればいいし、というか後から読みやすい diff ができた方が嬉しいし、コミットオブジェクトが同一かどうかよりも成果が出る方が重要で、

成果を出すことをためらわなくていいように便利な機能はどんどん使えばいいじゃん

と思っている。ちゃんと動くかどうかはコミットオブジェクトの同一性ではなくテストで保証すべきだ。

確かに自分が100人からの開発者の上に立つ立場であったら Git の導入にはいろいろ思うところはあるだろうなという気はしている。そして先日 Twitter の timeline で見かけた、だったら Mercurial 使えばいいじゃんという意見には今はすごく納得している。

そして 自分は 自分の膝を撃ち抜く自由が欲しい、と。

これ、Ruby に対して感じる自由と同じだなと気づいた。Rails の人たちが GitHub 使い始めたのが間違いなく大きかったと思うけど、Rubyist の志向と Git ってやっぱり相性がいいのかもしれない。

なんてことを思った週末でした。

※ 攻殻機動隊 S.A.C. 2nd GIG ネタをちゃんと盛り込めたのがいちばんの収穫だったかもしんない。

More