バージョン管理を考える
バージョン管理システムとは、コンピュータ上の情報の変更を管理し、それぞれの変更に目印をつけ、変更前に戻れたり、変更を取り消したりすることができるものです。
たとえば
Linux のコマンド操作で、
mv
コマンドを失敗してやりなおしたい場合がありませんでしたか?
そんなときに、バージョン管理システムを使えば、コマンドを打つ前に戻ることができます。 操作をやりなおしたい、過去に戻って違う道を選択したい。そんな後悔がなくなるツールがバージョン管理です。
バージョン管理ができるようになると、各段に 「出来る人」 になれます。
失敗をなかったことに出来るからです。
そして、バージョン管理ができると、他の人との情報共有もスムーズに行うことができるようになります。
つまりバージョン管理ができると、ちょーかっこいいです 😄
バージョンを管理するための仕組みとしてCVSやSubversionやGitがあります。
具体的に今回使うバージョン管理システムは、Git と GitHub :octocat: です。
ツールを触る前に まずは、4つのグループワークを通してバージョン管理脳にマインドセットしましょう。
キーワード
- 情報
- 変更
- 情報と変更の履歴
- 情報と変更の共有
以上のキーワードについて考えることが、バージョン管理脳になるコツです。
情報とは何か
世の中には、様々な情報があります。どういった情報が身の回りにあるか、考えてみましょう。
👀 グループワーク ( 作業 5 min + 発表 1min )
- グループで「今回の研修にまつわる情報」についてブレーンストーミングする。
- リーダが内容を取りまとめながら行ってください。
- 研修にまつわる情報の例
- 研修のスケジュール
- 講師のプロフィール
- 研修資料
- グループで、ブレーンストーミングした内容を発表してください。かぶってもいいです。
グループワークの目的は、バージョン管理対象である「情報」について注目することにあります。バージョン管理脳になる準備です。
変更とはなにか
「情報」は「変更」されます。変わらないものは、なかなかありません。
では、「変更」について考えてみましょう。
👀 グループワーク ( 作業 5 min + 発表 1min )
- グループで「情報の変更」についてブレーンストーミングする。研修の内容だけじゃなくてもいいです。
- リーダが内容を取りまとめながら行ってください。
- 例
- スケジュールの変更
- 研修資料の変更
- グループで、ブレーンストーミングした内容を発表してください。
グループワークの目的は、バージョン管理対象である「変更」について注目することにあります。これもバージョン管理脳になる準備です。
情報と変更の履歴
次に「情報とその変更履歴」に注目します。
👀 グループワーク ( 作業 5 min + 発表 1min )
- グループで「管理される必要のある変更履歴」についてブレーンストーミングして下さい。「履歴が管理」されない場合どうなるかも一緒に。
- 例
- 銀行の入出金
- 管理されないといつどんな振り込みがあったかわからない。
- 銀行の入出金
- ブレーンストーミング で洗い出した「管理される必要のある変更履歴」について「管理方法」を考えて下さい。
- 例
- 銀行の入出金
- 通帳記帳
- 銀行の入出金
情報と変更の共有
最後に「情報とその変更を共有する」というところに注目します。これができればバージョン管理の達人としての心構え準備が完了します。
👀 グループワーク ( 作業 5 min + 発表 1min )
- グループで「共有する必要のある変更」についてブレーンストーミングして下さい。「共有」されない場合どなるかも一緒に。
- 例
- メールアドレスの変更
- 他の人が連絡出来なくなる。
- 飲み会会場の変更
- 誰も来なくなる
- メールアドレスの変更
- ブレーンストーミング で洗い出した「共有する必要のある変更」について「共有方法」を考えてさい。( 1グループ 2分 )
- 例
- メールアドレスの変更
- 電話張にある連絡先に一斉送信
- 飲み会会場の変更
- 一人一人に電話で口頭で伝える
- 一人一人にメールで情報の変更内容を送信する
- メールアドレスの変更
まとめ
何かが変わって、物事が進みますね。
その中でも情報化社会が進むこの社会で、情報の変更を管理することはとても大事なことです。
情報がいつ、どう変わったのか。
情報とその変更を管理することをバージョン管理といいます。
今回扱うバーション管理システム Git と GitHub :octocat: です。
主にプログラムコードやそのファイルのバージョンを管理します。
余談
とある仕様書の例
- 仕様書ver2_20150401.xls
- 仕様書ver2.xls
- 仕様書ver2(最新).xls
- 仕様書ver2(修正前).xls
- 仕様書ver2(修正後).xls
- 仕様書ver2(修正後)(2).xls
「ど、どれが最新ですか。。」
大事な仕様書が、こんな風に管理されていたら、がっかりですね。