マージを行うことで 2 つの編集履歴を合流させることができますが、
単に毎回合流させているとログが確認し難くなる可能性があります。
2 人で制作を行ったとき、交互にコミット・マージを繰り返すと
ログがどのようになるか見てみましょう。
Linux 知識の要らない Git 講座 目次にもどる
ストーリー
前回までのあらすじ
Web ディレクターの B さんがホームページにキャッチコピーの追加編集を行い
コミットしてプッシュし終えた頃、
ビジネスオーナーの A さんは出店先の街を決めたので
ホームページに都市名を追加することにしました。
ホームページに都市名を追加しよう
手順
1. 都市名を追加します
HTML ファイルを以下のように編集します。
<html lang="ja">
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<title>Cafe First Knowledge | 池袋 カフェ</title>
</head>
<body>
<header>
勉強会カフェ 「First Knowledge」 オープン! 営業時間:平日 07:00〜13:00, 18:00〜23:00 / 土日祝 07:30〜21:00
</header>
<div id="content" class="flex">
<div id="store-name" class="flex">
<div>
Welcome to First Knowledge
</div>
</div>
</div>
<footer>
Photo by Eloise Ambursley on Unsplash
© First Knowledge Cafe
</footer>
</body>
</html>
差分は以下のようになっているはずです。
2. コミットします
コミット後、 A さんのローカルリポジトリーのログは
以下のようになっているはずです。
そしてやはりプッシュに失敗します。
B さんが先にプッシュしているからです。
3. フェッチします
フェッチ後、 A さんのローカルリポジトリーのログは
以下のようになっているはずです。
さて、ログがよくわからなくなってきました。
ログの見通しを悪くしないためにはどうしたらいいの?
この例の場合、マージのコミットがログの見とおしに良くない影響をあたえています。
この例では、 2 人の製作者が交互にコミットをしているだけです。
もし以下のようなログだったとしたら、
もっと理解しやすいログになっていると感じないでしょうか。
Git では、これを実現する方法として「リベース」という操作があります。
リベースを使うと、マージのコミットを作らずに、
分岐した編集履歴を直列に並べ直すことで編集履歴を統合することができます。
リベースの手順については次の記事で説明します。
Linux 知識の要らない Git 講座 目次にもどる