fc2ブログ

Entries

git bundleでコミットを送り合うテスト

タグ: Git

Alice: リポジトリを作る。

alice$ git init
alice$ echo A > alice.txt # 適当にファイルを作ってコミット
alice$ git add alice.txt
alice$ git commit -m "alice's commit A"
alice$ echo B >> alice.txt # 適当に変更を加えてコミット
alice$ git commit -a -m "alice's commit B"
aliceリポジトリ初期状態

Alice: aliceリポジトリのバンドルファイルを作成し、Bobに送る。

alice$ git bundle create ../alice.bundle HEAD 
alice$ git branch bob # バンドルファイルを作ったリビジョンにブランチを作っておく

Bob: 受け取ったバンドルファイルをcloneしてbobリポジトリを作る。

bob$ git clone alice.bundle bob
bob$ cd bob
bob$ git checkout -b master # masterブランチを用意
bob$ git branch alice # alice.bundleの先端にブランチを作っておく
clone直後のbobリポジトリ

Bob: bobリポジトリにコミットを追加する。

bob$ echo A > bob.txt
bob$ git add bob.txt
bob$ git commit -m "bob's commit A"
bob$ echo B >> bob.txt
bob$ git commit -a -m "bob's commit B"
bobリポジトリにコミットを追加

Bob: alice.bundleの先端からの差分バンドルファイルを作成してAliceに送る。

bob$ git bundle create ../bob.bundle alice..HEAD

Alice: AliceはAliceでaliceリポジトリにコミットを追加している。

alice$ echo C >> alice.txt
alice$ git commit -a -m "alice's commit C"
alice$ echo D >> alice.txt
alice$ git commit -a -m "alice's commit D"
aliceリポジトリにコミットを追加

Alice: Bobから受け取ったバンドルファイルをbobブランチにpullする。

alice$ git remote add bob ../bob.bundle
alice$ git checkout bob
alice$ git pull bob HEAD
AliceのbobブランチにBobの変更をpull

Alice: masterブランチにbobの変更を取り込む。

alice$ git checkout master
alice$ git merge bob
AliceのmasterにBobの変更を取り込んだ

Alice: bob.bundleの先端からの差分バンドルファイルを作成してBobに送る。

alice$ git bundle create ../alice.bundle bob..HEAD

Bob: Aliceから受け取った差分バンドルファイルをaliceブランチにpullする。

bob$ git checkout alice
bob$ git pull origin HEAD
BobのaliceブランチにAliceの変更をpull

Bob: masterブランチにaliceの変更を取り込み、作業を再開する。

bob$ git checkout master
bob$ git merge alice
BobのmasterにAliceの変更を取り込んだ
スポンサーサイト



コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://idlysphere.blog66.fc2.com/tb.php/262-61418911
この記事にトラックバックする(FC2ブログユーザー)

Appendix

タグ

Blog内検索