3
2

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 commit --amendを元に戻す方法

Last updated at Posted at 2020-11-06

はじめに

Gitでgit commit --amendコマンドを使ってコミット内容を修正したものの、間違えて上書きしてしまった場合、元の状態に戻したいことがあります。本記事では、git commit --amendを取り消す方法について、具体的な手順を解説します。

手順

以下の手順で、git commit --amendの変更を取り消すことができます。

手順1: git reflogで過去のコミットを確認

まず、git reflogコマンドを実行して、過去のコミット履歴を確認します。HEADの過去の状態を確認し、戻したい状態の番号を確認しましょう。

git reflog

git reflogの出力例

abc1234 HEAD@{0}: commit (amend): Update README
def5678 HEAD@{1}: commit: Initial commit

この例では、HEAD@{1}amend前の状態です。

手順2: git reset --softで特定のコミットに戻す

戻したいコミットを確認したら、git reset --softコマンドを使ってその状態に戻します。例えば、上記の例でHEAD@{1}に戻すには、以下のコマンドを実行します。

git reset --soft HEAD@{1}

これで、amendを取り消した状態に戻すことができます。

手順3: 状態を確認

git logを実行して、元の状態に戻っているか確認しましょう。

git log

注意点

  • git resetは慎重に使用
    --hardオプションを使うとファイルも元の状態に戻ってしまうため、通常は--softを使用することをおすすめします。

  • バックアップを取っておく
    取り消し操作はリスクが伴うため、事前に必要なファイルのバックアップを取っておくと安心です。

エラーが発生した場合

もしgit resetがうまくいかない場合、以下の手順を試してみてください。

  1. git statusで状態を確認
  2. コマンドがうまくいかない場合は、再度git reflogでコミットの状況を確認

まとめ

git commit --amendで行ったコミットの上書きを取り消す方法を紹介しました。この手順を覚えておくことで、誤ってコミットを上書きしてしまった場合でも簡単に元に戻すことができます。

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?