Hatena::ブログ(Diary)

yk5656 diary

記事一覧: Linux | Ansible | Swift | Ruby | PHP | JavaScript | MySQL | Git | Vim

2016-02-26(金)

HTMLの実装例でGitのブランチ/マージを試してみる(続き)

HTMLの実装例でGitのブランチ/マージを試してみる
の続き

次に、各担当者がHTMLを実装するような想定で、Gitのブランチ/マージを試してみる。

f:id:yk5656:20160416152600p:image:w600


実装の流れ

f:id:yk5656:20160416151138p:image:w600


実際にコマンドラインで試してみる

(0) 雛形が作成されているリポジトリを各担当者がcloneした状態。

ヘッダー担当者

(1) ヘッダー1を実装。

ヘッダー担当者$ vi sample.html
ヘッダー担当者$ git commit -a -m "ヘッダー1の実装"

フッター担当者

(2) フッター1を実装。

フッター担当者$ vi sample.html
フッター担当者$ git commit -a -m "フッター1の実装"

メイン担当者

(3) メイン1を実装。

メイン担当者$ vi sample.html
メイン担当者$ git commit -a -m "メイン1の実装"

ヘッダー担当者

(4) さらにヘッダー2を実装。

ヘッダー担当者$ vi sample.html
ヘッダー担当者$ git commit -a -m "ヘッダー2の実装"

(5) 一旦、プッシュして反映してみる。

ヘッダー担当者$ git push

フッター担当者

(6) さらにフッター2を実装。

フッター担当者$ vi sample.html
フッター担当者$ git commit -a -m "フッター2の実装"

メイン担当者

(7) ヘッダー部分の修正が反映されているようなので、プルして取り込んでみる。

メイン担当者$ git pull

(8) 続けて、メイン2/メイン3を実装し、メイン部分が完成。

メイン担当者$ vi sample.html
メイン担当者$ git commit -a -m "メイン2の実装"
メイン担当者$ vi sample.html
メイン担当者$ git commit -a -m "メイン3の実装"

(9) メイン部分が完成したので、プッシュして反映。

メイン担当者$ git push

フッター担当者

(10) メイン部分が完成しているようなので、試しにプルして取り込んでみる。

フッター担当者$ git pull

ヘッダー担当者

(11) ヘッダー3を実装し、ヘッダー部分が完成。

ヘッダー担当者$ vi sample.html
ヘッダー担当者$ git commit -a -m "ヘッダー3の実装"

(12) プッシュしたら、状態が古くてエラーになったので、プルして最新の状態にしてから、改めてプッシュ。

ヘッダー担当者$ git pull
ヘッダー担当者$ git push
プッシュすると、下記のエラーがでた。
「error: failed to push some refs to …」 
前回プルしてからプッシュするまでに間に、他の誰かが更新していると、エラーになるみたい。
この場合、プルしてローカルを最新の状態にすると、プッシュできるようになる。

フッター担当者

(13) フッター3を実装し、フッター部分が完成。

フッター担当者$ vi sample.html
フッター担当者$ git commit -a -m "フッター3の実装"

(14) プッシュしたら、状態が古くてエラーになったので、プルして最新の状態にしてから、改めてプッシュ。

フッター担当者$ git pull
フッター担当者$ git push

ヘッダー担当者/メイン担当者

(15) フッター部分も完成したようなので、プルして最新の状態を取り込む。

ヘッダー担当者$ git pull
メイン担当者$ git pull

結果

以上で、完成。

メイン担当者$ cat sample.html
<header>
ヘッダー1
ヘッダー2
ヘッダー3
</header>
<main>
メイン1
メイン2
メイン3
</main>
<footer>
フッター1
フッター2
フッター3
</footer>

SourceTreeでログを見ると、下記のようになっている。
f:id:yk5656:20160416153248p:image

GitHubのログだと、下記のような感じ。
f:id:yk5656:20160416153246p:image