在给定时间提取 git 存储库的快照

在给定时间提取 git 存储库的快照

我克隆了一个 xorg git 存储库:

git clone git://anonscm.debian.org/pkg-xorg/driver/xserver-xorg-video-intel

我需要提取提交 45c09bfe58c37bbf7965af25bdd4fa5c37c0908f 后的所有文件

我知道如何提取指定版本的一个文件,即

git show 45c09bfe58c37bbf7965af25bdd4fa5c37c0908f:src/intel_driver.h > intel_driver.h

但如何提取整个结构(所有文件)?

答案1

要检查特定提交:

git checkout 45c09bfe58c37bbf7965af25bdd4fa5c37c0908f

如果需要覆盖未提交的文件,则会报告错误。要无条件覆盖文件,请传递选项-f

要提取提交而不影响工作副本:

git archive 45c09bfe58c37bbf7965af25bdd4fa5c37c0908f | gzip >../45c09bfe58c37bbf7965af25bdd4fa5c37c0908f.tar.gz
git archive --prefix=45c09bfe58c37bbf7965af25bdd4fa5c37c0908f/ 45c09bfe58c37bbf7965af25bdd4fa5c37c0908f | tar xf - -C ..

git archive为您提供一个 tar 存档,您可以将其提取到其他地方或存储到文件中。

相关内容