Gitを使ってブランチを整理していると、「REBASE 1/1」のような表示が出て、作業が中断された状態になることがあります。
この状態を適切に解消し、意図したブランチの状態に戻す方法を詳しく解説します。
REBASE 1/1とは?
「REBASE 1/1」とは、現在のブランチでリベース操作が進行中であり、1つのコミットが適用されようとしていることを示します。
この状態ではGitの操作が制限され、リベースを完了するか、取り消さなければ通常の作業を再開できません。
REBASE 1/1を解消する方法
現在のリベースを中断する
リベースを取り消して、元の状態に戻したい場合は、以下のコマンドを実行します。
$ git rebase --abort
この操作を行うと、リベース開始前の状態に戻り、変更は適用されません。
変更を加えた後にリベースをやり直す
もし、リベースを中断したうえで変更を加えた後に再実行したい場合は、以下の手順を行います。
- リベースを中断する(前述の
git rebase --abort
を実行) - 必要な変更を加える(ファイルを編集し、保存)
- リベースをやり直す
$ git rebase <基にするブランチ名>
例えば、v2.0.0
を基にリベースしたい場合は以下のようにします。$ git rebase v2.0.0
- コンフリクトが発生した場合は解消する
- コンフリクトが発生したファイルを修正
- 修正したファイルをステージに追加
$ git add <修正したファイル名>
- リベースを続行
$ git rebase --continue
リベースが完了したらリモートにプッシュ
ローカルでのリベースが完了したら、リモートリポジトリに変更を反映します。
$ git push origin <ブランチ名> --force
リベース後は履歴が書き換えられるため、リモートリポジトリに強制プッシュする必要があります。--force
オプションを使う際は、他の開発者の作業に影響がないか注意してください。
まとめ
Gitのリベース中に「REBASE 1/1」の状態になった場合、git rebase --abort
で一旦中断し、必要に応じて変更を加えた後に git rebase
を再実行すると解決できます。
リベース後はコンフリクト解消とリモートへの反映を忘れずに行いましょう。
これらの手順を理解しておくことで、Gitのリベースをよりスムーズに扱えるようになります。
- Original:https://minory.org/git-rebase.html
- Source:minory
- Author:管理者
Amazonベストセラー
Now loading...