首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git-存档在不同提交日期的文件中显示相同的提交日期。

git-存档在不同提交日期的文件中显示相同的提交日期。
EN

Stack Overflow用户
提问于 2013-12-27 18:18:21
回答 2查看 311关注 0票数 0

在git中,有两个文件具有不同的提交日期。但是,当我制作git-archive时,我会得到相同的提交日期,为什么?

代码语言:javascript
复制
[[ -e git_test ]] && rm -rf git_test
mkdir git_test
cd git_test
git init

# make file01
echo 'f01 $Format:%cd$' > file01.txt
echo 'file01.txt export-subst' >> .gitattributes
git add .gitattributes file01.txt
git commit -m "adding file01"
sleep 1
# make file02
echo 'f02 $Format:%cd$' > file02.txt
echo 'file02.txt export-subst' >> .gitattributes
git add .gitattributes file02.txt
git commit -m "adding file02"

# git archive
git archive HEAD | tar -x -C ..

echo
echo "git log date"
git log --format="%cd" file01.txt
git log --format="%cd" file02.txt

echo
echo "git archive date"
cd ..
cat *.txt

在输出中,对于git-log,提交日期不同(1秒),但是使用git-archive生成的文件具有相同的提交日期。

代码语言:javascript
复制
git log date
Fri Dec 27 15:17:22 2013 -0300
Fri Dec 27 15:17:23 2013 -0300

git archive date
f01 Fri Dec 27 15:17:23 2013 -0300
f02 Fri Dec 27 15:17:23 2013 -0300
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-03 17:56:11

我只在上次修改的文件上使用archive解决了问题。

代码语言:javascript
复制
 git archive HEAD $(git diff --name-only HEAD^) | tar -x -C

这种方法只在上次修改的文件上修改提交日期(和文件)。

票数 0
EN

Stack Overflow用户

发布于 2013-12-27 18:57:04

git archive期间关键字替换中使用的提交日期是您要导出的提交日期,即在15:17:23第二次提交。Git将不会找到触及特定文件并获取其提交日期的最新提交。这就是当您运行例如git log --format="%cd" file01.txt时所发生的事情(嗯,它将列出所有提交的提交日期,与该文件接触,但在本例中只有一个提交)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20805734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档