この記事で書くこと
- 最新のcommitを一つ戻る方法
- リモートリポジトリにpushしていた時の対処法
問題発生
git add -A
git commit -m "Finish 〇〇"
をしてしまってから、commitを取り消したい時ってありませんか?
僕はこうなってしまったので、commitを取り消す方法を備忘録にでも書いておきます。
commitを一つ戻る方法
結論、最新のコミットを取り消す方法は以下のコマンドを実行するだけです。
git reset --hard HEAD~1
これでコマンドを一つ戻れます!!わーい🙌
ここまででいい人はいいのですが、僕はリモートリポジトリにpushしていました...
そんな時はどうしたらいいのでしょうか?僕はこうしたので、参考にしてください。
リモートリポジトリにpushしていた時のcommitの取り消し
リモートリポジトリにpushしてしまっていたので、リモートリポジトリのcommitを消せないかなと思っていたところ...
「むずくね?」「調べてもパッと出てこん」ってなってしまったので工夫で乗り切りました。
結論、その工夫とは
「普通に他にブランチを作って、mergeしちゃえばいいんです」
まぁ、mainからだと難しいかもですが、ブランチを作って開発してるならいけると思いますので、よかったら参考にしてください。
mergeするまでの流れ
1, まずはもどりたいところまで戻す
git reset --hard HEAD~1
2, 次に移行するブランチを作る
git switch -c (適当な名前)
3, mergeする
git merge (戻したブランチ)
いかがでしたか?きっとこの他に頭のいい方法があるのでしょう。僕も数年後成長したら「なんちゅう仕方でやってるんや」とびっくりする臭いがプンプンしています。
ですが、まぁダックプログラミングと同じで戻りゃいいんですよ!!笑