ブログ

【初心者向け】git commit 取り消し完全ガイド|revertとresetで安全に修正

【初心者向け】git commit 取り消し完全ガイド|revertとresetで安全に修正

目次

※この記事にはプロモーションを含みます

WEBMASTERSのトップページへ

はじめに

Gitで作業中、誤ってコミットしてしまった経験はありませんか?

本記事では誤ったコミットを安全に修正・取り消す方法を初心者向けに解説します。

具体的には、git revertやgit resetの使い方、それぞれのメリット・注意点、チーム作業への影響について詳しく紹介します。
この記事を読むことで、どの環境でも安心してコミットの取り消しが可能になり、作業効率と安全性を大幅に向上させる事ができます。

コミットの取り消しとは

コミットの基本と履歴の仕組み

Gitでは、作業内容をコミットすることで変更履歴が保存されます。
コミットは履歴を残す単位であり、各コミットには固有のIDが付与されます。

履歴を残しておくことで、誤った変更を安全に修正したり、過去の状態に戻したりすることが可能です。

gitコミットを理解する

コミットの理解は、誤った操作を防ぐ上で非常に重要です。

誤ったコミットが発生する状況

Gitで誤コミットが発生する典型例は以下です。

  • 作業途中の変更を誤ってコミットしてしまった
  • 不要なファイルや間違ったファイルを含めてコミットしてしまった
  • コミットメッセージやブランチを間違えてコミットしてしまった

これらのミスは履歴を汚してしまうだけでなく、他の開発者への影響も生むため、安全にコミットを取り消す方法を学ぶことが不可欠です。

git revert を使った取り消し

revert の基本動作

git revertは、既存のコミットを打ち消すための新しいコミットを作成するコマンドです。

元のコミットは履歴として残るため、チーム作業や公開済みブランチでも安全に使用可能です。

# 直前のコミットを取り消す場合
git revert HEAD

# 特定のコミットIDを指定して取り消す場合
git revert <コミットID>

履歴を残して取り消すメリット

revertは、既存のコミットを安全に取り消す際に便利な方法です。

具体的には、以下のような利点があります。

git revertのメリット

これにより、チームでの共同開発でも安全にコミットを修正できる点が大きなメリットです。

git reset を使った取り消し

soft/hard/mixed の違い

git resetはコミットやステージングを巻き戻すコマンドで、オプションによって動作が異なります。

--hard

コミット・ステージング・作業ディレクトリをすべて巻き戻す

--mixed(デフォルト)

コミットとステージングを取り消すが作業ディレクトリは残す

--soft

コミットだけを取り消し、変更内容はステージングに残す

# 直前のコミットをmixedで取り消す場合(明示的に指定)
git reset --mixed HEAD~1

# 直前のコミットをmixedで取り消す場合(デフォルト、省略可能)
git reset HEAD~1

# 直前のコミットをsoftで取り消す場合
git reset --soft HEAD~1

# 直前のコミットをhardで完全に取り消す場合
git reset --hard HEAD~1

履歴に与える影響と注意点

git reset --hardは履歴そのものを消去するため、共有ブランチでは使用を避ける必要があります。

個人作業やテスト用ブランチでも、復元できなくなるリスクを十分理解した上で使用することが重要です。

指定する値の違い

revert と reset では、コミットを取り消す際に指定する値が異なります。

直前のコミットを取り消したい場合を例に、表にまとめると以下のようになります。

コマンド指定動作
git revertHEAD最新コミットを打ち消す新しいコミットを作る
git resetHEAD~1最新コミットを履歴から取り消し、1つ前の状態に戻す
  • git revert は 「打ち消したいコミットそのもの」 を直接指定する
  • git reset は 「どこまで戻すか」 を指定する

この違いを押さえると、履歴の取り扱いやチーム作業での安全性がぐっと高まります

誤コミットを防ぐ方法

作業前のチェック

誤コミットを防ぐためには、作業前に確認を徹底することが重要です。

小さなミスでもコミットに反映されると、後で修正が面倒になることがあります。

安全に作業を進めるために、以下のポイントを確認しましょう。

コミット作成前のチェック

これらの習慣をつけるだけでも、誤コミットのリスクを大幅に減らすことができます。

特にチーム開発では、作業前の確認がプロジェクト全体の安定性に直結するため、欠かさず実施することが大切です。

ブランチ運用で安全に作業

さらに誤コミットを防ぐには、ブランチ運用の工夫が有効です。

ブランチ運用の工夫例

  • 新機能や修正は個別ブランチで作業
  • main/masterブランチは安定版として保護
  • チーム内で運用ルールを統一

これらの方法は、誤コミットによるトラブルを未然に防ぎ、安心して開発できる環境作りに役立ちます。

まとめ

git revertとgit resetの使い分けを理解することで、誤ったコミットを安全に取り消すことが可能です。

git revertとgit resetの使い分け

さらに、作業前の確認やブランチ運用を徹底することで、誤コミットを防ぐことができます。

こうしたGit操作を実践的に学びたい方や、Web制作・プログラミング学習を基礎から始めたい方には、WEBMASTERS がおすすめです。
実際の制作物をGitで管理しているため、技術を学習しながら自然にGitの操作にも慣れることができます。

実務やチーム開発でも安心して作業を行うために、正しいGit管理を学んでいきましょう。