如何在特定时间点(提交)检查项目的根目录?

时间:2015-01-12 17:36:36

标签: git

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

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

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

我该怎么办?

我试着看一些git命令,但是我找不到可以使用哪个命令来执行它。谢谢,

2 个答案:

答案 0 :(得分:2)

最好的方法是:

git show 15c03dd4859ab16f9212238f29dd315654aa94f6^{tree}

或:

git ls-tree 15c03dd4859ab16f9212238f29dd315654aa94f6 

ls-tree咒语显示的信息比您提供的信息多一些,但使用cutawk删除不需要的内容时不应该太难。

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

答案 1 :(得分:0)

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

git reset --hard 15c03dd

我个人不喜欢这样做,而且通常会结帐到新分行:

git checkout -b OldRootDirectory 15c03dd

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