2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[Git入門] コミットを取り消す・元に戻す

Posted at

「reset」でコミットを取り消して無かったことにする

 git reset [option][打ち消したいコミットID]

HEADでコミット指定する場合

 git reset [option] HEAD^

git reset のオプション

git reset には3種類のオプションがあります。
それぞれ使用するタイミングを間違えないようよく理解して使うようにしましょう。

  • --soft

    • commitのみ取り消し (HEADの位置のみが修正される)
    • ディレクトリの内容はそのままでコミットのみを取り消したい場合に使用
  • --hard (最も強力なオプション)

    • 全部を取り消し(HEADの位置・インデックス・ワーキングツリーが修正される)
    • ディレクトリの内容も書き換えコミット取り消したい場合に使用
  • --mixed

    • commitaddの取り消し(HEADの位置・インデックスが修正される)
    • ディレクトリはそのままで、git addを取り消したい場合に使用

「--revert」でコミットを打ち消す

git revert  [打ち消したいコミットID]

revertはコミットを打ち消すと言う表現より、逆の内容をコミットしてくれています。
resetのように取り消すのではなく、「逆向きのコミット」として履歴が残ります。
もし間違えてrevertしたとしても、もう一度revertし直せば問題ありません

「--amend」で直前のcommitを上書き修正する

 git commit --amend
  • 「単に直近のコミットメッセージを変更したい」
  • 「コミット内容を後から追加したい」

などの場合に使用すると便利

現在の状態をよく確認しよう

間違ったコミットの防止のためにも、自身の編集が完了したらコミットの前に現在の状態を確認しましょう。

  • git status
     現在の状態を表示します。変更があったファイルを確認することができます。

  • git diff
     ソース内でどのような変更があったのか、差分を確認することができます。

  • git log
     コミット履歴を確認することができます。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?