WebEngine

だらだらと綴る技術系メモ

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はリポジトリ の内容そのままを自分のリポジトリにコピーするイメージです。

こちらも参考に