Gitで間違えてmasterにコミットしてしまったときの対処法

参考

Gitでブランチを作るのを忘れてmasterにコミットしてしまったときの対処法

Gitでやらかす

gitで新しい実装を始めるとき、普通は新しいbranchを作りそちらにcheckoutしてから作業をはじめますよね。そして、作業が終わったら新しいbranchにcommit&pushします。

でも、たまには新しいbranchを作るのを忘れてしまうことがありますよね。そ
ういう時の対処法です。

要は、新しく作った別のbranchにcommitを移動させ(残しつつ)masterブランチは以前のcommitに戻すということです。

流れは下記のようになります

masterで実装

↓

masterにcommit&push

↓

新しいbranchを作りcheckout

↓

masterに戻る

↓

masterでreset

新しいbranchを作る

masterにcoomitしてしまった後、まずは新しいbranchを作ります

git checkout -b NewBranch
Switched to a new branch 'NewBranch'

NewBranchを確認

NewBranchという新しいbranchが生成され、今はmasterブランチにいることが確認できます

git branch
  NewBranch
* master

master にcheckoutして戻る

この時点で、masterとNewBranchは全く同じ状態を保ってるはずです。
この状態から、checkoutでmasterに戻りましょう

git checkout master

masterブランチにいる状態でresetする

checkoutでmasterに戻ったら、git resetでmasterのcommitを打ち消します

git reset --hard HEAD~1

完了

これで、 NewBranchには最新のcommitが保たれて、masterは一個前のcommitが維持されてる状態となります

藤沢瞭介(Ryosuke Hujisawa)
  • りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

ホーム