目次: Linux
会社で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 | - | - | - | - | - | - |
25年10月15日
25年10月18日
22年5月5日
25年10月19日
23年4月11日
06年4月22日
25年10月17日
25年10月6日
25年10月13日
20年10月23日
25年10月12日
20年8月29日
19年1月13日
18年10月13日
18年9月3日
18年8月20日
18年7月23日
18年7月22日
18年10月14日
18年11月10日
wiki
Linux JM
Java API
2002年
2003年
2004年
2005年
2006年
2007年
2008年
2009年
2010年
2011年
2012年
2013年
2014年
2015年
2016年
2017年
2018年
2019年
2020年
2021年
2022年
2023年
2024年
2025年
過去日記について
アクセス統計
サーバ一覧
サイトの情報合計:
本日: