読者です 読者をやめる 読者になる 読者になる

tanaka51のブログ

http://blog.tanaka51.jp に移転しました

Git道場 #1 に行ってきた

勉強会 git

今日は Git道場 #1 に門下生として参加しました。
http://git-dojo.doorkeeper.jp/events/979-git%E9%81%93%E5%A0%B4
その感想的なものをつらつらと書いていきます。


Gitを専門にした大規模な勉強会はなかなか無いように思います。
参加費1,000円、人数50人が半日程で埋まり、予約待ちも40人以上いたようで、反響の大きさが伺えます。

プログラムは、午前、午後に分かれていました。
午前は自由参加だったのですが、意識の低い私は参加できず。
午後は師範代2人による Git の講義を聞いた後に、実際に Git を使って作業を行いました。

午後の部

会場に入ったら、番号が振られたテーブルに座ります。
各テーブルには4〜5人座れるようになっていて、テーブル毎にチームとなって作業を行う事になります。
又、テーブル上には、Git早見表が置かれていました。

着席したら、web の登録フォームにて自分の github アカウントとテーブル番号を申請。
テーブル毎につくられた github の公開リポジトリに対して、コミット権が与えられます。
(github すごい、今回の道場が開催できたのも、github がある事が一つの要員になっていると思います。)

開場

道場主である相澤さん(@ayumin)の開場の挨拶で、Git道場が始まりました。
今回の目標は、
「merge/rebase を怖がらずにできるようになること」
です。

会場提供のフューチャーアーキテクト株式会社の方から会場についての諸注意。

<心>の部

<心>の部は、岩松さん(@iwamatsu)の「Git総論、心構え」と題した講義。
Git とは何か、どんな仕組みで動いているか、というお話でした。

「会社で SVN を使っているが、Git に移行するにはどうしたら良いか」
という質問に対して、
「Git への移行を拒んでいる奴からコミット権を奪えば良い」
という回答が印象的でした。w

<技>の部

<技>の部は、小川さん(@conceal_rs)の「本日の課題、テクニックの解説」と題した講義。

本日の課題は、リポジトリに既に登録されているファイルに対して、
編集 → commit → push → リジェクト → pull(merge/rebase) → コンフリクト → 解消 → push
をひたすら行なっていく、という物でした。

編集対象のファイルは単純なテキストファイルで、以下のようなものです。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10

そして相澤さんから以下のような制限が与えれれます。
「原則私語禁止!コミットメッセージで語れ!」
コンフリクトの解消を他人に相談しないで、コミットメッセージから判断できるようになれ、という意図です。

例外として、

  • 一人が連続して push する事のないように push したら声をかける
  • チューターさんへの質問は積極的に行う

があげられていました。

<体>の部、第1イテレーション

始まりました。
原則私語禁止ですが、各地で積極的にチューターさんへの質問が行われていたり、ニコニコ生放送でGit道場ラジオ行われていたりと、会場内はワイワイした感じでした。

作業は、ひたすら
編集 → pull → コンフリクト解消 → push
のくり返し。

1時間程作業を行った後、振り返りの時間がとられました。
チーム全員で、github でネットワーク図を見ました。
マスターからのマージコミットだらけで
「まるで地下鉄の路線図のようだ」(by 相澤さん)

しばし休憩。

<体>の部、第2イテレーション

はじめに小川さんから、
「リモートリポジトリからのプルには必ず git pull --rebase を使うように」
との指示がありました。

git pull コマンドは、実は以下のコマンドを合わせたものです。

  • git remote update
  • git merge origin/master

git pull のオプションに --rebase を指定する事で、以下のようになります。

  • git remote update
  • git rebase origin/master

merge を使わないで rebase を使う事で、マージコミットを作らないようにできるんですね。

という事で、第2部開始。
マージコミットできない!すげー!という感動よりも、度重なるコンフリクトの解消作業で疲労困憊。w

閉場

小川さんから、rebase について話があったように思いましたが、疲れていて話を聞けていませんでした。すみません。w

最後に相澤さんから閉場の挨拶。
門下生全員に師範代の認定が与えられました。
また、次回からは Git道場師範代の印である黒いリストバンドが配布されるそうです。:)

参加した感想

今回の目標は、
「merge/rebase を怖がらずにできるようになること」
でした。

作業としては、10行程度のテキストファイルに対して4〜5人でひたすら編集してはコンフリクト解消の作業を行うもので、はっきり言って面白い作業では無いです。w
しかしながら、普段の仕事で git を使っていて、1日でこれだけコンフリクトに会う事はなかなか無いので、とても良い経験になりました。
上記の目標も達成できたと思います。

道場の名に相応しい、ストイックでプラティカルな勉強会でした。

道場主である相澤さんを始め、師範代の岩松さん、小川さん、スタッフの皆さん、フューチャーアーキテクトの皆さん、又一緒のチームになった皆さん、どうもありがとうございました!

Gitによるバージョン管理

Gitによるバージョン管理


入門Git

入門Git