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