0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【初心者向け】絶対にわかる!Git reset の使い方まとめ

Posted at

【初心者向け】絶対にわかる!Git reset の使い方まとめ(図解つき)

Gitで開発していると…

「コミットを取り消したい!」
「ステージに追加しすぎた…戻したい!」

そんなときに超便利なのが git reset です。

でも、「--soft」「--hard」って…何がどう違うの?と迷ってしまう方も多いはず。

この記事では、初心者でも一発で理解できる! git resetの使い分けをやさしく解説します!


✅ まずは結論:この3つを覚えればOK!

コマンド 影響範囲 使う場面
git reset --soft HEAD~1  コミットのみ取消 「コミットメッセージを修正したい」
git reset --mixed HEAD~1 コミット+ステージ取消 「ステージから外してコード修正したい」
git reset --hard HEAD~1 全部取り消し(要注意) 「全部なかったことにしたい(※慎重に)」

用語の復習:Gitの3つのエリアを整理しよう

エリア 説明
作業ディレクトリ ファイルを実際に編集している場所
ステージ(インデックス) コミットの準備をする場所
コミット履歴 確定したコードの記録(Gitのタイムマシン)

💡 実例で学ぶ git reset

1. git reset --soft HEAD~1(コミットだけ戻す)

git reset --soft HEAD~1
  • ✅ 最新のコミットをなかったことにする
  • ✅ ステージには残るので、すぐ再コミットできる

使い方例:

git commit -m "間違ったコミット"
#git reset でコミットを取り消す
git reset --soft HEAD~1
git commit -m "修正後のコミット"

コミットメッセージの修正に便利!


2. git reset --mixed HEAD~1(コミット+ステージを戻す)

git reset --mixed HEAD~1
  • ✅ コミットとステージの内容を取り消す
  • ✅ 作業ディレクトリ(編集内容)はそのまま残る

📝 いったんコードを見直したいときに便利!


3. git reset --hard HEAD~1(すべてを巻き戻す)

git reset --hard HEAD~1
  • ❗ コミット・ステージ・作業ディレクトリすべて削除
  • 保存していなかったコードも完全に消える!要注意!

📝 本当に「なかったこと」にしたいときだけ使おう!


🔍 補足:HEAD~1って何?

  • HEAD:今いる最新のコミット
  • HEAD~1:1つ前のコミット
  • HEAD~2:2つ前…という意味
git reset --soft HEAD~2 # 2つ前に戻る

万が一やらかしたら… git reflog で復活!

git reflog
  • 直近の操作履歴を見られるコマンド
  • 間違って消してしまっても、過去の状態に戻せる!
git reset --hard <コミットID>

やばい!」と思ったら、まず reflog


まとめ:これさえ押さえれば大丈夫!

シーン おすすめコマンド
メッセージを修正したい git reset --soft HEAD~1
ステージを解除してコード修正 git reset --mixed HEAD~1
全部なかったことにしたい(慎重に) git reset --hard HEAD~1

この記事が良かったら、ストックやいいねをしてもらえると嬉しいです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?