git reset

コードを以前の状態に戻す。

git reset --soft

--soft オプションではコミットのみ取り消します。つまり、コミットは削除されるが、コミットに含まれていたコードの変更はインデックスに残された状態になります。

git reset --mixed

--mixed オプションではコミットとインデックスの変更を取り消します。つまり、コードの変更は作業ツリーに残された状態になります。

(git add の情報が消える。)

git reset --hard

--hard オプションでは変更を全て取り消します。一度取り消してしまうと元に戻すことはできないので扱いには注意が必要です(リモートリポジトリにコミットが残っている場合は別)。

(注)

Untrackedな状態のファイルが消せないというのがあります。

Untracked状態のファイルはGit操作の対象とはならないので、

git reset時に戻したいのであれば

一度git add ファイル名 -NでGit管理下に追加する必要があります。