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