git のリポジトリ内容の共有
#21 リポジトリの内容を共有してみよう
http://dotinstall.com/lessons/basic_git/6721
をもとに、
複数ユーザでの内容の共有について学習
今回は、共有リポジトリの内容を
myweb2
というディレクトリの中に作成する
これには
git clone
を使う
git clone ~/ourweb.git/ myweb2
と実行すると
Cloning into ‘myweb2’…
done.
となり、
新しく myweb2 というディレクトリが作成され
その中にリポジトリも作成されている
書式としては
git clone 共有リポジトリのURL 新しいディレクトリ
というかんじになる
内容ができているか、確認するには
cd myweb2/
git log
で確認できる
そして、今度は、myweb2 の中でファイルを編集して
それを 共有リポジトリに追加する
vim index.html
でファイルを開いて
line end
と追記して保存
git add .
でインデックス化
git commit -m “line end added”
でリポジトリ登録
git clone したときに、リモート情報も
引き継ぎできているので
git push で共有リポジトリに追加することができる
今回なら
git push origin master
とすれば、URLの指定をせずに、そのまま送ることができる
これは、リモート情報も引き継ぎしているため
とりあえず、ユーザB役での編集などはできたので
今度は
ユーザA役の myweb ディレクトリで操作する
Linux なら端末を
Ctrl + Alt + t で開けるので
新しい端末を開いて
cd myweb/
で移動
共有リポジトリの内容をマージするには
git pull
を使う
でも、違いを理解するために
まずは git log で内容の確認
commit 0180f5a3844aa7df2cb4c231f03df5e61f36efe9
Author: snowpool
Date: Thu May 30 20:51:12 2013 +0900
line3 added
が最新の内容
確認したら、 git pull で内容を共有リポジトリから引っ張ってくる
今回なら
git pull origin master
とする
これで、git log で内容を確認すると
commit b3c348a6f9fa5416831020ad5649fbdf09050acc
Author: snowpool
Date: Fri May 31 20:57:41 2013 +0900
line end added
とでているので、
ユーザB役の myweb2 ディレクトリで編集したものも
しっかりと反映されていることが確認できる
これらのことから、
git clone で共有リポジトリを作成
git push で編集した内容をアップする
git pull で編集された内容をダウンロードして編集する
というような流れで複数の人による共同開発が可能となる
もっとも、複数人数での開発以外にも
git サーバーを構築して
自分の複数マシンでソースを共有することで
外出先でもソースの編集を容易にするという使い方もできるので
git 関連をやっておくと便利だと思う