会社でSubversionとGitを同時に使っているのですが、すごく混乱します。家ではさらにMercurialも使っているためさらに混乱します。
個々のシステムはどれもわかりやすいですし、良いと思いますが、3つ同時に使うと混乱してしまって、全く操作できません。いつかこの辺の違いをしっかりまとめたいけど、どうもやる気が出ないのですよ…。
かなりざっくりした説明ですが、各バージョン管理システムの動作概要です。ざっくりすぎとか、間違いに気づいたらぜひ教えてください。
Subversionの動作イメージ
管理外 <--(add/rm)--> ワーク <--(commit/update)--> リポジトリ
SubversionはCVSに似た体系、動作になっているようです(CVS使ったことないので知りませんけど)。CVS -> Subversion移行ユーザーの混乱を減らすためでしょうか。
Mercurialの動作イメージ
管理外 <--(add/rm)--> ワーク <--(commit/update)--> リポジトリ <--(push/pull)--> 他のリポジトリ
MercurialはSubversionの後釜を狙ったんだったか、コマンド名も動作もSubversionと似ています。しかし油断してると似て非なる部分でハマります。
Gitの動作イメージ
ワーク/管理外 <--(add/rm)--> ステージ <--(commit/reset)--> リポジトリ <--(push/fetch)--> 他のリポジトリ
Gitはステージという概念が他の2システムと異なります。ステージの存在を認識するまではcommitされる対象が理解できず混乱しますが、要らん変更をコミットしてしまうミスが減る利点もあります。
最も基本的と思われるコマンド群と、各システムでの挙動を以下に挙げます。
リポジトリと作業領域の差分を見ます。
リポジトリ <--(status/diff)--> 作業領域
対象を省略した場合、Subversionはカレントディレクトリとその子ディレクトリを対象にしますが、Git, Mercurialは全リポジトリを対象にします。
作業領域の更新をリポジトリに反映させます。
作業領域 --(commit)--> リポジトリ
オプションを特に付けなかった場合、Subversion/Mercurialは変更されたファイル、追加(add)、削除(rm)したファイルをコミットします。Gitは変更(add)、追加(add)、削除(rm)によりステージに置いたファイルしかコミットしません。
またSubversionはカレントディレクトリとその子ディレクトリがコミット対象ですが、Mercurial/Gitは作業領域全体がコミット対象となります。
リポジトリの更新を作業領域に反映させます。
作業領域 <--(update)-- リポジトリ
対象を省略した場合、Subversionはカレントディレクトリとその子ディレクトリ、Mercurialはリポジトリ内の全ファイルが更新されます。Gitはresetコマンドが似ていますが、ステージにも影響を及ぼしてしまいます。
ローカルリポジトリの更新を別リポジトリへ送ります。
リポジトリ --(push)--> 他人のリポジトリ
MercurialもGitも同じような動きをします。Subversionにはありません。
別リポジトリから更新を受け取って、ローカルリポジトリへ反映します。
リポジトリ <--(pull)-- 他人のリポジトリ
Mercurialはローカルリポジトリを更新するだけですが、Gitは作業領域も更新しようとします。Gitだとfetchが大体同じような動きをします。Subversionにはありません。
アマゾン先生でポチったもの、その1。ワイヤレスマウス。
買ったのはロジクールMX1100ワイヤレスレーザーマウスです。
商品探しのポイントは3つ。
まず1つ目、ワイヤレスであること。机上の物にマウスの線が当たると不快です。
次2つ目、適度な大きさであること。ノートPC用に使っているロジクールV-450SVだと小さすぎて疲れてしまいます。デスクトップ用には大きなマウスが欲しい。
最後3つ目、お値段。キーボードと違ってマウスって割と早く壊れるんで、高くても5,000円くらいで押さえたいところ。
最初Sena氏所有のロジクールMX Revolution にしたかったのですが、お値段が1万近くする…高い。断念。
ヨドバシで実物見ながら探したらロジクールMX620 が良さそうでしたが、Amazonの商品レビューに「ホイールが壊れる/壊れやすい」という書き込みをいくつか見かけて買うのをやめました。
最終的にSena氏お勧めのロジクールMX1100 に行き着きました。5,250円でちょっと予算オーバーだけど、まあいいでしょ…。
早速使っています。で、気に入ったところ。
気に入らないところ。
慣れていないだけだと思いますが、とにかく手が疲れます。こればかりはしばし使ってみるしかなさそうです。
アマゾン先生でポチったもの、その2。Windows 7。
買ったのはWindows 7 Ultimateアップグレード版です。
私は32ビットと64ビット両方欲しかったので、あえてアップグレード版にしました。普通は32ビット版か64ビット版のどちらか一方があればよいと思うので、DSP版を買った方が安いでしょう。
今までほったらかしだったCore2 Quadマシンにインストールしようと思います。まずは64ビット版を入れてみて使い物になるかどうか様子見かな。
3回目のリクルータとして、筑波大学へ行きました。
昨年は資料をきちんと作っていなかったので、時間がオーバーしまくってかなり残念な発表になってしまいました。聞いている学生さん達もたまらず「まだ終わらんのか…。」という顔でした。
今年はきちんと時間内に終わらせるように資料を作ってきました。それでも少しオーバーしましたが、前回より大分マシになりました。
毎年思うのは、説明会の後ってほとんどの人が帰ってしまうんだなあってことです。せっかく聞きに来てくれたのにもったいないと思います。
単に我々の説明があまりにつまらなくて「こいつら駄目だ。何を聞いても無駄だ。」と思われているだけかも知れませんけどね…!
< | 2010 | > | ||||
<< | < | 02 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | 1 | 2 | 3 | 4 | 5 | 6 |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | - | - | - | - | - | - |
合計:
本日: