Happy My Life

日常とか技術とか

gitでバージョン管理

subversionの設定をしていたのだが、

  • 外部アクセスの設定が大変
  • ssh経由でのレポジトリのアクセス設定が大変

だったので、おもいきって別のバージョン管理ソフトを探してみた。

最初GNU archを試しに使用してみたが、なんか今までの感覚とかなり違っていたのでボツに。 つぎに試したgitがしっくりきたので、しばらく使ってみることにした。 gitはLinuxカーネルの管理にも使われているくらいだから、いきなりサポートが無くなることもないだろうし。

ちなみに、バージョン管理ソフトは、他にも

などがある。上2つは、あまり使われていないだろうな。

gitのメリット

インストール、設定が簡単なこと。サーバをたてる必要が無い。 ローカル環境でも使用できる。分散レポジトリも最初からサポートされている

gitのデメリット

GUIでのwindowsクライアントがない。 今は、cygwinを使うしかない。

インストール

Debian/Ubuntuならば

$ 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などと一緒やね。

参考になるサイト

git ユーザマニュアル git チュートリアル gitのチートシート