はじめ
最近、gitのドキュメントを読んでいます。
今後の復習のため、ポイントをメモしました。
gitの取り消しコマンドはとても危険です。理解した上で、使用してください。
2.4 gitの基本 作業のやり直し
作業のやり直し
$ git commit --amend
使用ケース:
- コミットを早まりすぎて追加すべきファイルを忘れてしまった
- コミットメッセージが変になってしまった
注意点:
このコマンドは、ステージングエリアの内容をコミットに使用する。直近のコミット以降に何も変更をしていない場合(例えば、コミットの直後に子のコマンドを実行したような場合)、スナップショットの内容は全く同じでありコミットメッセージを変更することになる。
コミット内容=1回目コミット内容+2回目コミット(--amend)の内容。
コミットメッセージ=1回目コミットのコミットメッセージ。
ステージしたファイルの取り消し
$ git reset HEAD <file>
使用ケース:
- ファイルが両方ともステージされてしまいました。 ふたつのうちの一方だけのステージを解除する
ファイルへの変更取り消し
$ git checkout -- <file>
使用ケース:
- ファイルに加えた変更が不要になった
- 直近のコミット時点の状態、あるいは最初にクローンしたり最初に作業ディレクトリに取得した時の状態に戻す
注意点:
「git checkout -- [file]
」は危険なコマンドだ、ということです。あなたがファイルに加えた変更は全て消えてしまいます。そのファイルが不要であることが確実にわっかている時以外は、このコマンドを使わないようにしましょう。