アリスとボブのGit入門レッスン Chaptor01..02

アリスとボブのGit入門レッスン

アリスとボブのGit入門レッスン

読む暇と気が一致したのでぱらぱらと読んでみたり。
最近Gitを使うようにしているので、まま知ってることもあるけど、やっぱりこういう本を読むと知らないこともあるので、知らなかったことをメモなのです。

ファイルを特定のリビジョンのものにする

知ってたような、知らなかったような、という感じなので一応メモ。


リポジトリを作って、空のファイルをコミットした後にちょっと編集して再度コミットします。

$ git init aaa
$ cd aaa/
$ touch aaa
$ git add .
$ git commit -m "add aaa"
$ echo 'aaa' > aaa
$ git commit -m "change aaa"


ログは以下のようになっているはず。

$ git log --oneline
e11a122 change aaa
0fa0193 add aaa


HEADでのaaaの中身は"aaa"になっているはずなので、一番最初のコミットでのaaaにするには以下のようにcheckoutを実行する。

$ git checkout 0fa0193 -- aaa

catしてみてもやはり空っぽ。

$ cat aaa
$


HEADの状態に戻すには以下の通り。

$ git checkout HEAD -- aaa

catしてみるとHEADの状態に戻っている。

$ cat aaa
aaa
$


すごく基本的なことを知らなかったというかなんというか……
多分これ以外の方法で戻したりとか、1つのファイルだけを戻したことがなかったからなのかなーと。