LVLPATH

日本最強無料プログラミングスクール

PATHSERVICEHANDS ONMANZI
Git入門: git reset

Git入門: git reset

✅ Git Reset

🔹 使い方

git reset は、コミットやインデックス(ステージ)を取り消すためのコマンドです。

コミット履歴を戻したり、ファイルのステージ状態を変更したりできます。

基本的にはこのコマンド1つだけ使えれば大丈夫です。

git reset --soft HEAD^

🔹 基本構文

git reset <モード> <対象>
  • <モード>:--soft, --mixed(デフォルト), --hard のいずれか
  • <対象>:戻したいコミット(例:HEAD~1、コミットハッシュ)

🔹 例:直前のコミットを取り消す

git reset --soft HEAD~1
  • コミットだけを取り消す(ステージ状態は保つ)
git reset --mixed HEAD~1
  • コミットとステージングを取り消す(作業ディレクトリは変更しない)
git reset --hard HEAD~1
  • コミットもステージも作業ディレクトリもすべて取り消す(完全に巻き戻す)

🔹 よく使う用途

  • コミットしすぎたので履歴をまとめたいとき(soft)
  • add したけどやっぱり外したいとき(mixed)
  • すべてを元に戻したいとき(hard)

基本的にはsoftを使うのが安全です。

🔹 ファイル単体でステージ解除(unstage)

git reset <ファイル名>

例:

→ git add した index.js をステージから外します(ファイルの中身はそのまま)。

🔹 よく使うモードまとめ

| モード     | コミット | ステージ | 作業ディレクトリ |
|------------|----------|----------|------------------|
| --soft     | 戻す     | 保持     | 保持             |
| --mixed    | 戻す     | 戻す     | 保持             |
| --hard     | 戻す     | 戻す     | 戻す(上書き)   |

🔹 注意点

  • --hard は取り消しできません。使う前に必ず確認しましょう。
  • reset は履歴を書き換えるため、共有ブランチでは基本的に使わない方が安全です。

🔹 まとめ

git reset は履歴の巻き戻しやステージ状態の変更など、強力な操作が可能なコマンドです。
状況に応じて --soft / --mixed / --hard を使い分けましょう。

お問い合わせ