リベースの基本
メニューを表示するにはスワイプしてください
mainブランチでのコミット作成
リモートリポジトリのmainファイルを編集して、リモートのREADME.mdブランチに直接コミットを作成します。これにより、mainブランチとfeature/paymentブランチのコミット履歴が分岐します。
ファイルに追加された行は次のとおりです:
New feature will soon be integrated.
該当するコミットメッセージは次のとおりです:
Add information about new feature in README.md
リベースの理解
前章で述べたように、feature ブランチがレビューおよびテストされた後は、main ブランチにマージすることが推奨されます。これまではこの目的のために git merge コマンドのみを使用してきましたが、もう一つの方法として git rebase コマンドを利用することもできます。
リベース とは、一連のコミットを新しい ベースコミット に移動または結合するプロセス。これは、あるブランチの変更を別のブランチに再適用することで、直線的なコミット履歴を作成するもの。
ブランチを作成すると、Git は両方のブランチで 最新のコミット を追跡します。一方のブランチのみが新しい変更を持つ場合、Git はファストフォワードで変更を適用できます。しかし、両方のブランチに新しい変更がある場合、Git は新しいマージコミットを作成し、三者間マージ となります。
以下は、C4 がマージ前の feature/payment ブランチの最新コミットであった場合の三者間マージの例です。
しかし、3方向マージは分岐した非線形の履歴のため、デバッグが複雑になる場合があります。リベースを行うことで、コミットのベースを変更し、新しいベース上にコミットを再適用するため、Gitはファストフォワードマージを実行し、線形の履歴を維持できます。
以下は、リベースがどのように実行されるかを示すアニメーションです(コミット識別子は実際のものとは異なります):
ブランチをリベースすると、その履歴を書き換えることになります。これは、古いコミットが新しいコミットに置き換えられ、異なる識別子(ハッシュ値)を持つようになることを意味します。上記のアニメーションのように、feature/paymentブランチのコミットの識別子はリベース後に変更されました。
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください