时光机
读一个旧提交通常意味着把它检出来,也就意味着要先把手上的活儿贮藏掉。这个不用。
拖动滑块,文件树会随每个提交重新渲染:文件夹冒出来,文件在它们之间挪位置,被删掉的文件又回来了。挑一个文件,你读到的就是它在那个提交时的样子。
所有内容都是从对象数据库读出来的(git ls-tree、git show)。不检出,HEAD 从不移动,你未提交的活儿分毫未动——你可以在改到一半的时候,把一整年的历史来回拖着看。


操作
| 按键 | 动作 |
|---|---|
| ← → | 一个提交 |
| ⇧ + ← → | 十个提交 |
| Home / End | 最旧 / 最新 |
滑块两侧的箭头做的是同一件事。当前提交动过的文件会在树里高亮,标题栏上带一个计数。
选中项能穿越时间
挑一个文件,然后往回拖,越过创建它的那个提交:面板会说它在这里还不存在,并且保住你的选中项。往前拖,文件带着它的旧内容回来了。这正是重点所在——你移动的是仓库,不是你的光标。
打开这个版本会把该提交处的这个文件交给常规的文件视图。