🍌

Git resetについて

2023/03/28に公開

git resetについて

以前のgitの状態に戻るのに苦戦したため、記録しておく!

まず

git log

で戻りたいgitのハッシュ値を確認!
👇
次に

git reset [ハッシュ値] --hard

今回は--hardを使ったが、3つのオプションがあるらしい!(厳密には他にもある)

  • reset --hard:ワーキングツリーにあるものも全部戻す。
  • reset --mixed:commitとaddの取り消し。
  • reset --soft:commitのみ取り消し。

👇

git push origin main

でOK!

間違えてgit resetした場合

直前のresetを取り消したい場合は

git reset --hard ORIG_HEAD

これでOK!

  • git log:コミットの履歴を見る
  • git reflog:これまでHEADが辿ってきた履歴を見る
git reset [(必要なら)オプション] [ハッシュ値]


addしただけでcommitしてないものがある時に、reset --hardをしてしまったら、addした内容は復元不可能
git resetを行う場合は慎重に!

φ(・・参考
https://qiita.com/shuntaro_tamura/items/db1aef9cf9d78db50ffe

git resetとgit revertの違い

git resetを調べているときに出てきた似ているrevertについても整理!

reset

現在のHEADを指定された状態にリセットすること
オプションによってインデックス、ワーキングツリーの内容も変更することができ、
取り消したことはコミットログとして残らない

revert

指定したコミットハッシュを打ち消すコミットを新たに行うこと
(オプション-nを指定しない限り、自動的にコミットされる)
「逆向きのコミット」と言われていて、打ち消したこともコミットログとして残る

resetは個人開発に向いており、
revertはチーム開発に向いているよう!

φ(・・参考
https://qiita.com/Sammy_U/items/e37c7242544fd1da81be


gitも一つ一つ問題解決して学び中、、!
前にHTMLとかCSSのgit全部消えて泣きたかったけど
会社で同じ失敗するよりマシよな、、😂
gitの消す系はほんと慎重にやろうと心に刻んだ日

Discussion