git チュートリアル

http://www.kernel.org/pub/software/scm/git/docs/tutorial.html

git を使った共同作業

Alice は /home/alice/project 上で git を使ったプロジェクトを開始したと仮定する。
同一マシン上にホームディレクトリを持つ Bob くんがプロジェクトに参加したい場合。

 $ git clone /home/alice/project myrepo

これで、Alice のリポジトリのクローンとして myrepo ディレクトリが作成される。
クローンは、オリジナルのリポジトリと同じもので、履歴も同じものになる。

Bob くんが何か変更してみた。

 (edit files)
 $ git commit -a
 (repeat as necessary)

一段落して、Bob は Alice に /home/bob/myrepo での変更をとってくるように伝えた。
Alice は、以下の処理を行った。

 $ cd /home/alice/preject
 $ git pull /home/bob/myrepo master

これで、Bob の masterブランチから Alice の現在のブランチにマージされた。
(実際には master は省略できる。)
もし、Alice が同時期に変更を行っていた場合、コンフリクトを手動で直さなければならない。

"pull"は、同時に2つの操作を行う。ひとつは、リモートのブランチから変更をとってくること。
もうひとつは、現在のブランチにマージすること。

(以下は git 1.4.4.3 では動作せずでした。)
あなたが、小規模な団結したグループで働いているとき、同じリポジトリを何度も更新するのは珍しくありません。
簡潔にリモートリポジトリを定義することによって、作業が容易になります。

 $ git remote add bob /home/bob/myrepos

(以下は git 1.4.4.3 では動作せずでした。)a
これで、わざわざAliceは彼女のブランチとマージする作業の変わりに"git fetch" 一発で
実行できます。

 $ git fetch bob