如何在特定时间点(commit)查看项目的根目录?

How to check the root directory of a project in a particular point in time (commit)?

今天我们有以下 Linux 项目的根目录:

arch 
block 
crypto 
drivers 
firmware 
fs 
include 
init 
ipc 
kernel 
lib 
mm 
net 
samples 
scripts 
security 
sound 
tools 
usr 
virt/kvm 

我想检查特定时间点的根目录(提交:15c03dd4859ab16f9212238f29dd315654aa94f6 日期:2013-09-29 18:02:38-04)。

我该怎么做?

我试图查看一些 git 命令,但我找不到可以使用哪个命令来执行此操作。谢谢,

有很多方法可以做到这一点最简单的方法是使用 sha 将当前分支重置到那个时间点:

git reset --hard 15c03dd

我个人不喜欢这样做,通常会结帐到一个新分支:

git checkout -b OldRootDirectory 15c03dd

第二种方法创建一个名为 OldRootDirectory 的新分支,并将该分支的头部初始化为您提交的时间点。它还会将您切换到该分支。

最好的方法是:

git show 15c03dd4859ab16f9212238f29dd315654aa94f6^{tree}

或:

git ls-tree 15c03dd4859ab16f9212238f29dd315654aa94f6 

ls-tree 咒语显示的信息比您提供的多一点,但是用 cutawk 删除不需要的东西应该不难。 .

没有理由弄乱你当前的分支指针或创建一个新分支。此外,您可以将散列缩写为唯一前缀,也可以使用分支或标记名称而不是散列,或其他可接受的语法,如 master@{10 days ago} 或其他...