質問: コミットを打ち消すのはresetでできますが、そうではなくてコミット履歴はそのままに、ワーキングツリーのソース全体を特定の時点に戻すにはどうすればいいでしょうか? ファイル1個1個ならcheckoutでできるようですが、ソース全体を戻したいです。
回答: `git checkout <コミットID>`とするとツリーは変わらずにHEADが指定の位置まで来て、ファイルはその時点のものに入れ替わりますので、そこで`git reset`をsoftかmixedでかけると、HEADも正しい位置まで戻って、ワークエリアには指定コミットのファイルが来ている状態となります。