🍌
Git resetについて
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を行う場合は慎重に!
※
φ(・・参考
git resetとgit revertの違い
git resetを調べているときに出てきた似ているrevertについても整理!
reset
現在のHEADを指定された状態にリセットすること
オプションによってインデックス、ワーキングツリーの内容も変更することができ、
取り消したことはコミットログとして残らない
revert
指定したコミットハッシュを打ち消すコミットを新たに行うこと
(オプション-nを指定しない限り、自動的にコミットされる)
「逆向きのコミット」と言われていて、打ち消したこともコミットログとして残る
resetは個人開発に向いており、
revertはチーム開発に向いているよう!
φ(・・参考
gitも一つ一つ問題解決して学び中、、!
前にHTMLとかCSSのgit全部消えて泣きたかったけど
会社で同じ失敗するよりマシよな、、😂
gitの消す系はほんと慎重にやろうと心に刻んだ日
Discussion