git archive保留时间

时间:2015-03-06 06:35:16

标签: git unix tar

我的git repo中有一些文件

...
-rw-r--r--  1 dimti dimti 11489 мар  2 21:54 wp-settings.php
...

执行命令后

git archive --format=tar HEAD > repo.tar

我在tar-archive中获取文件,但修改时间错误:

-rw-r--r--  1 dimti dimti 11115 мар  5 21:55 wp-settings.php

如何对git archive说 - 保留tar-archive中文件的修改时间?

1 个答案:

答案 0 :(得分:3)

您可以先尝试标记它,以便使用该标记,或使用提交ID

git archive man页提及:

  给定树ID时,

git archive的行为与给定提交ID或标记ID时的行为不同。

     
      
  • 在第一种情况下(树ID如HEAD),当前时间用作存档中每个文件的修改时间。
  •   
  • 在后一种情况下(提交ID或标记ID)使用引用的提交对象中记录的提交时间
  •   

所以在你的情况下(使用" How to retrieve the hash for the current commit in Git?"):

git archive --format=tar $(git rev-parse HEAD) > repo.tar