SCMBootCamp in Nagoya 1 に参加しました

参加してきました。
4月22日 SCMBootCamp in Nagoya 1 #scmbc(愛知県)

演習ではGitを使用しました。

基調講演「これからDVCSを始める人たちへ」

[twitter:@methane]さんによる基調講演。
内容は、Subversionのような集中型VCSとDVCSの比較、各DVCSの特徴や利点や欠点の説明等々。
その中でも個人的に一番響いたのは、「今回の目的は、ツールの使い方を覚えるだけではなく、それを使った効率的な開発スタイルを覚える」ということ。
こういう視点はよく見失いがちになるので自戒。

各DVCSの仕組みについて

Gitチームということで、最初はid:bleis-tiftによるGitの仕組み解説。
仕組み、といってもGitのオブジェクトモデルについての解説、といった内容でした。
具体的なコマンドは後からついてくる、ということで、コマンドについての解説はありませんでした。
解説しなくて大丈夫かなとも思いましたが、今回の参加者の中でDVCSを使ったことがないという人はそう多くなかった上、各DVCSごとにサポーターがついていたので特に問題になることはなかったようでした。

演習

午後から約4時間ほど、各DVCSをひたすら使ってみるという演習。
お題は「各グループで使用しているDVCSのチートシートを書く」という内容でした。
作業の流れとしては、チーム全員でGithub上のリポジトリからまずcloneし、ローカルで変更して、リモートリポジトリに変更がないことを確認してリモートにpushする、といった形です。
私のいたグループでは、「何をするか」をGithubのIssueを使用して課題をあげた後、分担を決め各自作業をする、という感じで進めました。いわゆるTiDDっぽく。


で、実際私はどうだったかというと…あらゆる意味で勉強不足が露呈しました。
まずHTMLをほとんど書いたことがなかったため、まずそこから詰まりました。
またGitは一応3ヶ月ほど個人で使ったことがありましたが、リモートリポジトリ相手にGitを使って作業をするといった経験はこれまでほとんどなかったため、最初にリモートリポジトリをcloneする方法が間違っていたためpushできなかったり、fetch/pull/pushといったコマンドの使い方もほとんどわかっていなかったため、最初はなかなか進みませんでした。
とはいえ、2時間ほどうだうだやっているうちにようやくそれっぽく使えるようになりました。少しはGitの醍醐味を理解できたと思います。


またチームで作業を進める、という経験ができたことも個人的には大きな収穫でした。
私自身IT業界に身を置いていますが、今まで関わったプロジェクトはDVCSはおろか集中型のVCSでさえ用意されていないような1, 2人単位のプロジェクトだったため*1、今回チームで作業できたことはいい経験になったと思います。


ただ今回、CSS使ったりTwitter Bootstrapを使ったりというようなレイアウトにこだわっている時間はなかったことが少し心残りだったかも。
次があるならそのあたりもやってみたいなと思います。それをやるならHTMLやCSSをちゃんと勉強する必要があるのですが。

全体を通して

とても有意義な勉強会でした。
Gitの使い方だけでなく、チームでDVCSを使って作業する、という経験ができたのが大きかったです。
また、多少はfetch/pull/pushの使い方を覚えたため、ほとんど放置しているGithubアカウントをこれから少しは活用していきたいと思いました。
id:kyon_mmさんありがとうございました。

他、思ったこと等々

  • 参加者のRedBull愛飲者率の高さに驚いた(という自分も今日だけで2本飲みましたが)
  • Macのgitkはちょっと微妙なためMacユーザーならSourceTree使いましょう
  • Vim使うんならVimの設定は先にやっておこう
  • bash使うんならbashの設定は先に(ry
  • Gitのコマンド補完入れておけばよかった
  • 入門Git読みたい
  • 実用Git読みたい
  • id:bleis-tiftに入門git返すの忘れてた。今度返します
  • やっぱりなごやこわい

*1:それでもそれはプロジェクトとしてどうなのよ、という話はさておき