Featured image of post 間違ってmainブランチにコミットしてしまった場合の対処法

間違ってmainブランチにコミットしてしまった場合の対処法

これはなに Link to this heading

間違ってmainブランチにコミットしてしまった場合に、それを別のブランチへ移す方法のメモ。

注意 Link to this heading

この方法だと履歴を書き換えることになるので、pushしてしまった後だと、push --forceが必要になってしまう。他者に影響が出るので、注意が必要である。

方法 Link to this heading

  1. mainブランチから新しいブランチを作成する
git switch -c new-branch
  1. mainブランチにいることを確認する
git branch

mainブランチにいる場合は、以下のように表示される。

$ git branch
* main
  new-branch

mainブランチにいない場合は、以下のコマンドで切り替える。

git switch main
  1. mainブランチをリセットする範囲を確認する
git log --oneline

例えば、次のように表示される。

$ git log --oneline
abcdef3 (HEAD -> main) コミット3
abcdef2 コミット2
abcdef1 コミット1
  1. (省略可)安全のため、現在の状態をタグとして保存する
git tag backup-before-reset

これにより、なにか問題が生じたときに、タグを使って簡単にワークツリーを復元できる。

git checkout backup-before-reset

mainブランチのHEADも戻したい場合は、以下を実行する。

git reset --hard backup-before-reset
  1. mainブランチをリセットする

例えば、コミット1の状態に戻したい場合、以下を実行する。

git reset --hard abcdef1
  1. 別ブランチに切り替えてで作業を続ける
git switch new-branch
Licensed under CC BY-NC-SA 4.0
最終更新 2月 24, 2025
Hugo で構築されています。
テーマ StackJimmy によって設計されています。