如何在特定时间点(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
咒语显示的信息比您提供的多一点,但是用 cut
或 awk
删除不需要的东西应该不难。 .
没有理由弄乱你当前的分支指针或创建一个新分支。此外,您可以将散列缩写为唯一前缀,也可以使用分支或标记名称而不是散列,或其他可接受的语法,如 master@{10 days ago}
或其他...
今天我们有以下 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
咒语显示的信息比您提供的多一点,但是用 cut
或 awk
删除不需要的东西应该不难。 .
没有理由弄乱你当前的分支指针或创建一个新分支。此外,您可以将散列缩写为唯一前缀,也可以使用分支或标记名称而不是散列,或其他可接受的语法,如 master@{10 days ago}
或其他...