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