Gitは、分散バージョン管理システムです。
Linuxのカーネルソースを管理していることで有名です。
分散バージョン管理システムは、cvsやSubversionの進化系です。
ちょっと話がそれますが、分散バージョン管理システムには、Git以外にbazaar, Mercurialといったものがあります。
自分の中では以下の点でbazaarが好きです。
- 日本語を正しく扱うので文字化けで悩まなくて済む
- cvsやSubversionなどのセンターリポジトリと親和性が良い
ローカル環境で、色々と試行錯誤したい時には、どうしてもローカルでコミッしたくなります。(Subversion全盛期は、svkとか試しましたが設定やブランチの管理にとても手間がかかりました。)
ローカルでやったことは、センターリポジトリにシームレスに戻したいに手間をかけずに答えてくれるのがbazaarなので…
しかし、Xcode4は、bazaarではなくGitをサポートしました。
ということで今回は、Gitに入門します。
インストール
Ubuntu/Debian環境では、git-coreというaptパッケージをインストールします。
現在使えるのは、1.7.0.4のようです。
$ sudo apt-get install git-core $ git --version git version 1.7.0.4 $
リポジトリの作成
リポジトリの作成は、git initコマンドを使います。
$ mkdir gittest $ cd gittest $ git init Initialized empty Git repository in $HOME/gittest/.git/ $
リポジトリは、トップディレクトリの.gitです。
cvsやSubversionは、SCCSやrcsを真似てバージョン管理されている各ディレクトリに.cvsや.svnといったディレクトリを作成します。また、リポジトリはセンターにありインポートしたファイルはチェックアウトしないといけないという決まりがあります。
/etcファイルのようにバージョン管理したいけど、一度チェックアウトし直すようなことができないファイルでもバージョン管理することができます。
また、ある日突然、「バージョン管理するのはやめよう」といった場合でもトップディレクトリの.gitを消すだけなので気軽です。
使い方
今日は時間切れ…
svnとだいたい同じです。
add/co/commit/log/updateは同じです。
branch/merge/push/pullといったコマンドが重要となります。