修正したファイルをGitで元に戻してみる

GitHubにリポジトリを作成してみる
の続き

修正したファイルを元に戻してみる。

現在の状態

前回の作成したリポジトリの中身を少し変更して、
現状、sample1.txtとsample2.txtの2ファイルがある状態。

$ ls
README.md  sample1.txt  sample2.txt
$ git status
# On branch master
nothing to commit (working directory clean)

修正する

ファイルをいくつか修正する。
・sample1.txtを変更
・sample2.txtを削除
・sample3.txtを作成

$ vi sample1.txt
$ rm sample2.txt
$ touch sample3.txt

現在の状態は下記の通り。

$ ls
README.md  sample1.txt  sample3.txt
$ git status
# On branch master
# Changed but not updated:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   sample1.txt
#       deleted:    sample2.txt
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       sample3.txt
no changes added to commit (use "git add" and/or "git commit -a")

元に戻す

git checkout ファイル名

でファイルを元に戻すことができる。

$ git checkout sample1.txt
$ git checkout sample2.txt

ファイルが元に戻ってる。

$ ls
README.md  sample1.txt  sample2.txt  sample3.txt
$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       sample3.txt
nothing added to commit but untracked files present (use "git add" to track)

新規作成したファイルには使えない。

$ git checkout sample3.txt
error: pathspec 'sample3.txt' did not match any file(s) known to git.
git checkout .

でまとめてもとに戻すこともできる。
(ただし、まとめて戻した場合も、新規作成したファイルはそのまま)