<h1>歴史を修正し、間違いを安全に打ち消す:トラブルシューティングコマンド集 Part 2</h1>

Part 1では、チーム開発における最大の関門「マージコンフリクト」の解決方法を学びました。しかし、Gitでのトラブルはそれだけではありません。時には、「間違ったファイルをコミットしてしまった!」「コミットメッセージにタイプミスが!」といった、自分自身の小さなミスを修正したくなる場面も頻繁に訪れます。

この章では、そうした個人の作業における「しまった!」をスマートに解決するためのコマンドを解説します。これらのコマンドは、歴史を修正する強力な力を持つため、その特性と正しい使い方をしっかり理解することが重要です。


<h3>① git revert:公開した歴史を安全に打ち消す</h3>

目的: すでにリモートリポジトリにpushしてしまったコミットを、歴史を書き換えることなく安全に打ち消します。これは、チームに共有済みの間違いを修正する際の、最も正しく安全な方法です。

例えるなら: 一度発行した新聞記事に間違いが見つかったため、「先日の記事には誤りがありました」という訂正記事を新たに出すようなものです。元の間違った記事(コミット)そのものを歴史から消すのではなく、その変更を無効化する新しい記事(新しいコミット)を追加します。これにより、読者(他の開発者)の混乱を防ぎます。

どんな時に使う?:

コマンド例

まず git log で、打ち消したいコミットのハッシュ値(コミットID)を調べます。

git log --oneline
a1b2c3d (HEAD -> main) feat: Add new feature that has a bug
e4f5g6h fix: Correct a previous issue
...

a1b2c3d のコミットを打ち消すことを決め、revertコマンドを実行します。

git revert a1b2c3d

解説と結果