Git マージの代わりに Git リベースを使用するのはいつですか? 質問する

Git マージの代わりに Git リベースを使用するのはいつですか? 質問する

Git リベースと Git マージの使用は、どのような場合に推奨されますか?

リベースが成功した後でもマージは必要ですか?

ベストアンサー1

短縮版

  • マージは、1 つのブランチ内のすべての変更を取得し、1 つのコミットで別のブランチにマージします。
  • リベースは、分岐したポイントを新しい開始点に移動したいと言っています

では、どちらをいつ使うのでしょうか?

マージ

  • 1 つの機能を開発する目的でブランチを作成したとします。これらの変更をマスターに戻す場合は、おそらくmerge が必要になります。

リベース

  • 2 番目のシナリオは、開発を開始した後、別の開発者が無関係な変更を行った場合です。リポジトリの現在のバージョンからの変更をベースにするために、プルしてからリベースする必要があるでしょう。

スカッシング: どちらの場合も、すべてのコミットが保持されます (例: 「機能の追加」、次に「タイプミス」、次に「おっと、またタイプミス」...)。コミットは、スカッシングによって 1 つのコミットにまとめることができます。スカッシングは、マージまたはリベース操作 (--squash フラグ) の一部として実行できます。この場合、スカッシュ マージまたはスカッシュ リベースと呼ばれることがよくあります。

プル リクエスト: 一般的な Git サーバー (Bitbucket、GitLab、GitHub など) では、プル リクエストをリポジトリごとにマージする方法を設定できます。UI には慣例により「マージ」ボタンが表示される場合がありますが、このボタンでは任意のフラグ (キーワード: マージ、リベース、スカッシュ、早送り) を使用して任意の操作を実行できます。

おすすめ記事