Git - Fast Version Control System 気になったので調べてみた

| コメント(1)

Git本家 日本語Gitマニュアル 日本語Gitチュートリアル
 
分散型ソース管理システムということで気になっていたので調べることにしました。

ここの記事を読むとすごくわかりやすいと思います。

分散ということはレポジトリー管理を各人各所がするということなのだろう。

移動中やネットワークに繋がらない時になどに結構開発する時間があったりして、

そんな人やそんな時にはすごく良いかもしれません。

まず、とりあえず試してみることにしました。

率直な感想を先に述べると、超、柔軟、そして、早い。いいかも。です。

まず、自分のlocal サーバー debianにインストールしてみました。

調べたら、パッケージがあったので、

---------------------------------------------------------------------------------
$ sudo apt-get install git-core
---------------------------------------------------------------------------------

でインストール。

---------------------------------------------------------------------------------
WEBサーバー上に--bareでレポジトリを作る
---------------------------------------------------------------------------------
$ mkdir /var/git/repos
$ cd /var/git/repos
$ git --bare init
で公開リポジトリを作ってそこをオリジンとする。

---------------------------------------------------------------------------------
ユーザAさんがレポジトリ作成しファイルをコミットする
---------------------------------------------------------------------------------
$ mkdir /home/userA/works/gittest/

$ cd /home/userA/works/gittest/

$ git init

$ touch testfile1.txt

$ git add testfile1

$ git commit -m 'first commit'

コミットといってもsubversionの場合だと、subversionのリポジトリにコミットすることになるが、

gitは自分の今作ったローカル(自分とこ)にコミットすることになる。

$ git remote add origin ssh://username@yourdomain.com/var/git/repos

をオリジンに指定する。これで、--bareで作ったサーバー所のレポジトリと繋がった感じに。

で、

$ git push origin master

先ほどローカルのレポジトリにコミットしたファイルを上位(オリジン)レポジトリにPUSHします。

このことで、次のユーザBが公開レポジトリからソースを引っ張ってくることができます。

---------------------------------------------------------------------------------
続いて、ユーザBさんが自分の場所で
---------------------------------------------------------------------------------
$ mkdir /home/userB/works/git/

$ cd /home/userB/works/git/

$ git clone ssh://userB@yourdomain.com/var/git/repos

これでソースをダウンロードします。

$ echo 'edited' > testfile1.txt

ファイルを編集して、

$ git commit -m 'edit file'

でコミットした後、

$ git push origin master

でオリジンに登録してやることができます。

そのあと、

ユーザAが

$ git pull origin master

でファイルを更新したりできます。

------------------------------------------------------------------

簡単にまとめ、

使うとしたら、ローカルにコミットして公開レポジトリにdeployするみたいな感じでしょうか。

各人各所の環境がなるべく一致もしくは開発者が把握している状態でなければちょっと

難しいのと思ったけど、使えたらよさげかなと思いました。

あと、最終的には、それぞれのローカルリポジトリがお互いに見合ったり、

どちらかがオリジンンなったりして人間関係のように広がっていく

有機的(オーガニック)な開発手法を実現していく仕組みなのではないかとも思いました。

それを実現しているのが、

http://www.github.com

なのでしょうか。

コメント(1)

windowsでgitしたい場合、

http://code.google.com/p/msysgit/

コメントする

このブログ記事について

このページは、jfkが2009年4月15日 19:17に書いたブログ記事です。

ひとつ前のブログ記事は「スリランカコーヒー物語一緒に作りましょう!」です。

次のブログ記事は「大阪にて」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。