概要 - ブランチングとマージ
ブランチングとマージ
Git を他と根本的に異なる SCM ツールにしている機能は、そのブランチングモデルです。
Git では、互いに完全に独立している複数のローカルブランチを作成して活用することができます。これらの開発ラインの作成、マージ、削除に要する時間はわずか数秒です。
つまり、以下のようなことが可能になります。
- 摩擦のないコンテキストスイッチ: ブランチを作成してアイデアを試したり、数回コミットしたり、ブランチを作成した場所に戻ってパッチを適用したり、実験を行った場所に戻ったり、マージしたりできます。
- ロールベースのコーディング: 本番環境に適用できるものだけを常に含むブランチを作成したり、テストのために作業をマージする別のブランチを作成したり、日々使用するための小さなブランチをいくつか作成したりできます。
- 機能ベースのワークフロー: 開発中の新しい各機能に対して新しいブランチを作成すれば、それらをシームレスに行ったり来たりして切り替え、その機能がメインラインにマージされたら各ブランチを削除できます。
- 一時的実験: 実験用のブランチを作成し、機能しないことが判明したら、その作業を破棄してブランチを削除すれば、(他のブランチをその間にプッシュしたとしても)誰も作業を見ることはありません。
特に、リモートリポジトリにプッシュするときには、すべてのブランチをプッシュする必要がありません。1 つのブランチ、数個のブランチ、またはすべてのブランチを共有するかどうかを選択できます。これにより、マージする方法やタイミング、他の人と共有する方法の計画を心配することなく、新しいアイデアを試すことができます。
これらのいくつかのことを他のシステムでも実行できますが、作業はさらに困難でエラーを起こしやすくなります。Git によってこのプロセスは非常に簡単になり、ほとんどの開発者はこれを習得すると作業方法が変わります。