最近仕事や趣味で使用するgitコマンド
1. git reset --hard HEAD^
✅ 概要
直前のコミットを 完全に取り消す コマンドです。
作業ディレクトリ、インデックス(ステージ)もすべて元に戻します。
🔍 解説
-
HEAD^
は「1つ前のコミット」を指します。 -
--hard
は、作業ツリー・インデックス・HEADすべてを指定されたコミットに戻します。
💡 使う場面
- 間違ってコミットした内容を 完全になかったことにしたい とき。
- ローカルで作業していて、コミットを 巻き戻したい とき。
⚠️ 注意点
- 元に戻したコミットや変更は復元できません。
- チームで共有しているブランチには 使わない方が安全 です。
2. git reset --soft HEAD^
✅ 概要
直前のコミットを取り消すが、作業ツリーとステージの内容は残す コマンドです。
🔍 解説
-
--soft
は、HEAD だけを 1つ前に戻します。 - 作業ファイルやステージの状態はそのままなので、再コミット可能 です。
💡 使う場面
- コミットメッセージを 修正したいとき。
- 複数のコミットを 1つにまとめたいとき(squashの準備)。
3. git rebase
✅ 概要
現在のブランチの変更履歴を、別のブランチの最新状態に基づいて付け替える コマンドです。
🧾 基本構文
git rebase <ブランチ名>
例: git rebase main
→ 現在のブランチの履歴を main
ブランチの先に移動する。
💡 使う場面
- 履歴をきれいに保ちたい とき(マージコミットを避けたいとき)。
- 複数のブランチを順番に重ねて適用したいとき。
⚠️ 注意点
- すでに共有されたブランチで行うと、履歴が変わるためトラブルの原因になります。
- 実行前に
git status
とgit log
の確認が必須です。
4. git cherry-pick
✅ 概要
他のブランチの 特定のコミットだけを選んで現在のブランチに取り込む コマンドです。
🧾 基本構文
git cherry-pick <コミットハッシュ>
例: git cherry-pick abc1234
→ abc1234
のコミットを現在のブランチに適用する。
💡 使う場面
- 他ブランチの特定の修正だけを取り込みたいとき。
- バグ修正や機能追加の一部だけを反映したいとき。
⚠️ 注意点
- コンフリクトが起きることがあるので、適用後は
git status
で確認が必要です。 - 複数のコミットを取り込む場合は、個別に
cherry-pick
を行う必要があります。