HTMLの実装例でGitのブランチ/マージを試してみる(続き)
HTMLの実装例でGitのブランチ/マージを試してみる
の続き
次に、各担当者がHTMLを実装するような想定で、Gitのブランチ/マージを試してみる。
実際にコマンドラインで試してみる
(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でログを見ると、下記のようになっている。
GitHubのログだと、下記のような感じ。