続々・Gitメモ

リポジトリを特定の時点に戻すには2つの方法がある。 まずgit logで戻したいコミットのハッシュを取得して、

git reset [ハッシュ値]

または

git revert [ハッシュ値]

resetは戻した時点より後のコミットを全て無かった事にする。 revertは「その時点に戻す」差分を作成して現在のコミットの上に積んでくれる。

どっちをやった場合も、

git reset --hard HEAD

を実行するまで実際のファイルはリセットする前のままなので注意。 ちなみに

git checkout HEAD^

でも戻れるが、上記と逆に実際のファイルのみでリポジトリには反映されない。 (形式上、無名のブランチに切り替わる) そこから編集してコミットすれば、revert+αになる…と思う。