ワーキングディレクトリでの作業をもとに戻したい場合、git checkoutコマンドで戻すことができます。
特定のファイルだけもとに戻したい場合はgit checkoutにファイル名を指定します。
構文
特定のファイルではなく、全てのファイルを元に戻したい場合はgit checkoutにドットを指定します。
git checkout .
index.phpというファイルを変更し、git statusでブランチを確認すると次のように出力されます。
「modified: index.php」というメッセージで変更されたことが確認できます。
git status
出力結果
On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: index.php no changes added to commit (use "git add" and/or "git commit -a")
次のコマンドを打ってみましょう。ファイル名を指定しても良いですが、ワーキングディレクトリで変更したファイルの変更が全て取り消されるます
特に何もメッセージは表示されませんが、git statusで確認すると、「nothing to commit, …」というメッセージが表示され、更新が取り消されたのが確認できます。
git status
出力結果
On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working tree clean
新規追加したファイルも消す
git checkoutによる変更の取り消しはファイルの変更をもとに戻すだけなので、新規追加されたファイルなどは残ったままになります。
それらのファイルも消したい場合、git checkoutとは別にgit cleanコマンドも使います。
これで追加されたファイルが一通り削除されます。