2012年5月22日火曜日

Gitをちょっとだけ触ってみた

ちょっと流行ってるみたいなんで触ってみました。
幸い?MacにはGitが最初から入っていたんでインストールを不要!
簡単に触ってみる分にはいいかもしれません。

まずターミナルを起動して
$ git --version
git version 1.7.7.5 (Apple Git-26)

これが表示されればGitは既にインストールされています。

個人的に使う分でいけばローカルにリポジトリを作ってそこで管理してやるといいので以下みたいなかんじ。
$ mkdir repo.git
$ cd repo.git
$ git init
Initialized empty Git repository in repo.git/.git/

これで空のリポジトリが作成されます。
ここに適当にファイルを作成してコミットします。
$ touch test.txt
$ git add test.txt
$ git commit -m 'first commit'
$ git log
commit : xxxx
Anchor : xxxx
Date : 

    first commit

こんなかんじ動けばOKだと思います。

ただこれだと自分のローカルだけでしかバージョン管理できないので複数での開発とかになるとちょっと面倒です。

そこでこれを共有リポジトリとして登録し、管理するようにします。
今回は以下のようなディレクトリ構成

staff A (~/)
    └ git (←ここが共有リポジトリ)
        └ repo-sv.git
    └ workspace
        └ repo.git
            └ test.txt

staff B (~/)
    └ workspace
        └ repo.git
            └ test.txt

サーバとなる端末で共有リポジトリを作成します。
(今回はローカルPC内に共有リポジトリを作成します)
// staff A
$ mkdir repo-sv.git
$ cd repo-sv.git
$ git init --bare --shared=true
Initialized empty shared Git repository in repo-sv.git

これで先ほどと同様空のリポジトリが作成されます。
次にこの共有リポジトリにバージョン管理するもの登録します。
// staff A
$ cd workspace
$ git push ~/git/repo-sv.git master

そして別のPCから共有リポジトリをcloneしてきます。
// staff B
$ cd workspace
$ git clone <User Name>@<Host Name>:git/repo-sv.git repo.git

あとは修正してコミットしてを試して見てください。
// staff B
$ cd repo.git
$ vi test.txt
test
$ git add test.txt
$ git commit -m 'staff B modified'
// 変更を共有リポジトリにPush
$ git push <User Name>@<Host Name>:git/repo-sv.git master


// staff A
// staff Bで変更された内容をPullします
$ cd workspace/repo.git
$ git pull ~/git/repo-sv.git
$ cat test.txt
test

いつも通りざっとしてますが、こんなかんじでちょっとだけ触ってみました。

※ git のアドレス
今回、git から cloneするところのアドレスを <User Name>@<Host Name>:git/repo-sv.gitとしてますがMacの環境のせいかこういうアドレス形態になってしまいました。
同じようにLinux環境でGitをたててやってみるとssh://<User Name>@<Host Name>/git/repo-sv.gitでつながりました。
内容というか原因はよくわかりませんがアドレスの指定のしかたになんかありそうです。




0 件のコメント:

コメントを投稿