subversionの設定をしていたのだが、
- 外部アクセスの設定が大変
- ssh経由でのレポジトリのアクセス設定が大変
だったので、おもいきって別のバージョン管理ソフトを探してみた。
最初GNU archを試しに使用してみたが、なんか今までの感覚とかなり違っていたのでボツに。 つぎに試したgitがしっくりきたので、しばらく使ってみることにした。 gitはLinuxカーネルの管理にも使われているくらいだから、いきなりサポートが無くなることもないだろうし。
ちなみに、バージョン管理ソフトは、他にも
- RCCS
- CVS
- subversion
- mercurial
- GNU arch
などがある。上2つは、あまり使われていないだろうな。
gitのメリット
インストール、設定が簡単なこと。サーバをたてる必要が無い。 ローカル環境でも使用できる。分散レポジトリも最初からサポートされている
gitのデメリット
GUIでのwindowsクライアントがない。 今は、cygwinを使うしかない。
インストール
$ sudo aptitude install git-core
でインストール完了。 gitと指定すると別のソフトがインストールされてしまう。
<h2>簡単な使いかた</h2>
$ cd ~/proj/ $ cat hello.c #include <stdio.h> int main(void) { printf("hello, world"); return 0; }
プロジェクトのインポート
$cd ~/proj/ $git init Initialized empty Git repository in .git/
とレポジトリが作成される。 この時点では、ファイルが登録されていないので、Initialized empty Git repository in .git/と表示されてしまう。
スナップショットの作成
次に管理したいファイルを登録する。
$git add .
addの後にドット(.)がついていることに注意!
コミット
$ cat ~/proj/hello.c #include int main(void) { printf("hello, Nippon"); return 0; }
とファイルを変更した後は、コミットする。
$ git commit -a
履歴入力をするためにエディタ画面が開き、 履歴を入力する。 あとは、編集とcommitの繰り返し。このあたりは,subversionなどと一緒やね。