概要 - ブランチとマージ
ブランチとマージ
Gitを他のほとんどのSCMと際立たせているのは、そのブランチモデルです。
Gitは、完全に独立した複数のローカルブランチを持つことを許可し、推奨しています。これらの開発ラインの作成、マージ、削除は数秒で完了します。
これは、次のようなことができることを意味します。
- 摩擦のないコンテキスト切り替え。アイデアを試すためにブランチを作成し、数回コミットし、元のブランチに戻り、パッチを適用し、実験中のブランチに戻り、それをマージします。
- 役割ベースのコードライン。常に本番環境にデプロイされるものだけを含むブランチ、テストのために作業をマージする別のブランチ、および日常の作業のためのいくつかの小さなブランチを持つことができます。
- 機能ベースのワークフロー。作業中の新しい機能ごとに新しいブランチを作成し、それらの間をシームレスに行き来できるようにし、その機能がメインラインにマージされたら各ブランチを削除します。
- 使い捨ての実験。実験のためにブランチを作成し、それがうまくいかないと気づいたら、それを削除するだけです。作業を破棄し、他の誰もそれを見ることはありません(その間に他のブランチをプッシュしていたとしても)。
特筆すべきは、リモートリポジトリにプッシュする際、すべてのブランチをプッシュする必要がないことです。ブランチの1つだけ、いくつか、またはすべてを共有することを選択できます。これは、いつどのようにマージしたり、他の人と共有したりするかを計画する心配をすることなく、新しいアイデアを試す自由を人々に与える傾向があります。
他のシステムでもこれらの一部を達成する方法はありますが、関与する作業ははるかに困難でエラーが発生しやすいです。Gitは、このプロセスを信じられないほど簡単にし、多くの開発者がそれを学ぶと働き方を変えます。