gitを使ってみよう(共同作業編)
チーム作業を想定
- 共有リポジトリ(share.git)
- Aさんの環境(dir_a)
- Bさんの環境(dir_b)
の3つがあると想定します。
共有リポジトリの作成
リモートサーバやネット上に存在するものです。
共有リポジトリの初期化は(share.git下で)
git init --bare
というコマンドを打ちます。
.gitという拡張子は共有リポジトリであることを表します。
共有リポジトリにpushする
Aさんの環境に、コミット済みのファイルがあるとします。
そのファイルを共有リポジトリにあげたい場合
git remote add origin ~/share.git git push origin master
とコマンドを実行すれば上手くいきます。 ~/share.gitの~はhttp://wwwなどが入ります。
共有リポジトリの内容を共有したい
Bさんの環境に、共有リポジトリにあるファイルを引っ張ってきたい とします。そういう場合は
git clone ~/share.git/dir_b
と打ちます。最後に.doneと表示されれば
オーケイです。git log
でも確かめてみましょう。
ちゃんとコミットされているはずです。
もちろん、Bさんがファイルを編集して共有リポジトリに pushすることもできます。 Aさんがやったときと同じように
git push origin master
と打ちましょう。git remote...
は
すでに共有リポジトリに認識されているので入力しなくても
良いです。説明を省いていましたが、このコマンドは最初に
共有リポジトリに、「こういうファイルを共有して扱いますよ」と
教えてあげるメッセージだったんですね。
pullコマンド
Bさんが編集したファイルになるよう、Aさんはファイルを更新したいですね。 その場合は
git pull origin master
と実行します。pullとcloneはどう違うんだ、というと、pull は編集された部分だけを更新するコマンドで、cloneはリポジトリ の内容そのままを自分のリポジトリにコピーするイメージです。