リベースを中止して、リベース前の状態に戻す
リベースでは、リベース中断時にリベースを中止し、リベース前の状態に戻すことができます。リベース完了後にリベースを中止し、リベース前の状態に戻すことはできません。
ここでは例として、リベース中断時にリベースを中止し、リベース前の状態に戻します。
1.ブランチの確認
現在のブランチ構成を確認すると、以下のようになっています。現在のブランチは、「fix」ブランチであることが分かります。
同様に、「HEAD」は「fix」ブランチを指していることが分かります。
ここでは例として、「fix」ブランチを「master」ブランチにリベースし、「mastsr」ブランチに「fix」ブランチの変更内容を結合します。
2.ブランチの構成
現在のブランチの構成を図にすると、以下のようになっています。「fix」ブランチを「master」ブランチにリベースするため、リベース対象の「コミットオブジェクト」は、以下のようになります。
- Commit4
- Commit5
- Commit6
3.リベースの実行
「端末」から、以下のコマンドを実行します。コマンドの詳細は、「ファイルの変更内容を異なるブランチに結合するコマンドの説明」を参考にしてください。
git rebase --verbose master
4.コマンドの実行
以下のように、リベース結果が表示されます。「master.txt」ファイルで「マージコンフリクト」が発生したと出力されています。
5.ワーキングディレクトリーの状態
「ワーキングディレクトリー」の状態を見てみます。以下のように、リベースが中断されていることや、「master.txt」ファイルで「マージコンフリクト」が発生していることが分かります。
6.HEADの状態
「HEAD」の状態を確認すると、以下のように「分離したHEAD」になっています。これは、リベースが中断されている状態であるためです。
7.リベースの中止
リベースを中止し、リベース前の状態に戻します。コマンドのオプションは、以下のオプションを指定します。
オプション |
---|
--abort |
「端末」から、以下のコマンドを実行します。
コマンドの詳細は、「ファイルの変更内容を異なるブランチに結合するコマンドの説明」を参考にしてください。
ポイントは赤字の箇所です。
git rebase --abort
8.リベースの中止完了
以下のように、リベースが中止されます。9.ブランチの確認
現在のブランチ構成を確認すると、以下のようになっています。現在のブランチは、「fix」ブランチであることが分かります。
同様に、「HEAD」は「fix」ブランチを指していることが分かります。
これは、リベース実行前の「1.」の状態と同じです。