2012年7月24日火曜日

SCMBootCamp in Tokyo 3 に参加してきました #scmbc

SCMBootCamp in Tokyo 3 #scmbc
http://kokucheese.com/event/index/42642/

SCMBootCamp in Tokyo3 #scmbc
http://togetter.com/li/342324


きっかけ

subversionを使っていてコミットせずにローカルの履歴管理出来たら嬉しいのにと思っていたので、分散VCSを知った時はこれで出来ると思っていました。
しかし、なかなか今までの考え方では理解できないこともありました。そこで、githubに触れながらgitに慣れていこうと独りでもくもくとやっていました。
SCMBootCampは2回目の内容が面白そうだったので、次回開催されるのであれば参加したいと思っていました。
準備にGitHubの設定があったので、もしかしたらpull requestの実践も出来るのではないかと期待してました。

世代差で見る履歴管理ツール入門
http://www.lares.dti.ne.jp/~foozy/fujiguruma/scm/scmbc-201207/speech.html

Gitチートシート

個人的にコマンドがずらずら並んでいるチートシートより「こういうことしたいならこういうコマンド使うといいよ」みたいなチートシートにすれば必ず見ると思ったので、チームに提案してみました。
その他にも、チームがsubversionに慣れていたので同じ事をする場合、svnとgitのコマンドを並べてみるや、ブランチに関するコマンド、GitHubに関するコマンド等をやることになりました。

成果はこちら。
https://github.com/grimrose/scmbc201207

コンフリクトを狙ったのに、綺麗にマージされたり、macとwinの改行コードや文字コードの問題があったり、コンフリクトの解消に手間取ったり、pushしてもrejectされて(´・ω・`)となったり、といろいろコミットグラフを振り返って見ると思い出されました。

初めはpullを使っていましたが、以下のようにfetchとrebaseを利用することで、コミットグラフを見やすくできるということを教えていただきました。
  • git checkout -b fix_xxx
    • - file edit -
  • git add
  • git commit
  • git checkout master
  • git fetch
  • git rebase origin/master
  • git merge --no-ff fix_xxx

複数のブランチをマージする際に使ってみようと思います。

期待していたpull requestも無事できました。演習とはいえ実際に取り込まれるとやっぱり嬉しいですね。
先日、間違えてgradleをforkしてしまったのですが、いつかはpull requestを投げてみたいと思いました。

最後に

反省点として、うまく伝えたいことを伝えられなくて、同じチームの人に迷惑をかけてしまったのかなと思いました。
中途半端に知っているのが一番良くないというのが、如実に出てしまいました。

懇親会でBitbucketのTシャツをいただきました。なので早速アカウントを作って見ました。
BitbucketってMercurialだけだと思っていましたがgitも使えるので、プライベートなレポジトリを作る際に利用してみたいと思います。

scmbc主宰の@kyon_mmさん、@pocketberserkerさん、スタッフの皆様、会場を提供してくださったニフティ株式会社様ありがとうございました。