据我所见,Git提交日期和作者日期仅精确到1秒。我想知道这是否和他们一样精确,或者我能以毫秒甚至微秒为单位得到时间戳。
此命令使用第一个提交的提交哈希返回UNIX时间戳:
git show -s --format="%ct" 2d9afdfb9e2fa9b349312734b462bb7d57a684ee结果: 1421437899
GIT的提交日期或作者日期时间戳的精度是什么?
发布于 2015-01-30 14:30:15
Git提交/作者日期的分辨率为1秒,正如亚历克西·十和爱德华·汤姆森所指出的,它也是Unix时间戳的解析。
你能做的一个有趣的实验是
你可能知道,修改提交实际上创建了一个新提交。。通常,新提交具有不同的时间戳,因此与第一次提交的提交ID不同。但是,您可以编写一个脚本来创建提交,并在同一个系统时钟秒内对其进行修改(运气好一点!),从而生成一个与第一个提交的哈希相同的提交。
首先,设置好:
$ mkdir testGit
$ cd testGit
$ git init然后将其写入一个脚本文件(下面称为commitAmend.sh )
#!/bin/sh
# create content and commit
printf "Hello World.\n" > README.md
git add README.md
git commit -m "add README"
git log
# amend the commit
git commit --amend --no-edit
git log然后运行它:
$ sh commitAmend.sh
[master (root-commit) 11e59c4] add README
1 file changed, 1 insertion(+)
create mode 100644 README.md
commit 11e59c47ba2f9754eaf3eb7693a33c22651d57c7
Author: jub0bs <xxxxxxxxxxx>
Date: Fri Jan 30 14:25:58 2015 +0000
add README
[master 11e59c4] add README
Date: Fri Jan 30 14:25:58 2015 +0000
1 file changed, 1 insertion(+)
create mode 100644 README.md
commit 11e59c47ba2f9754eaf3eb7693a33c22651d57c7
Author: jub0bs <xxxxxxxxxxx>
Date: Fri Jan 30 14:25:58 2015 +0000
add README同样的时间戳,同样的哈希!
发布于 2015-01-30 14:23:52
这是一秒;虽然git-show稍微美化了输出,但您可以使用git-cat-file命令看到原始提交信息。例如:
% git cat-file commit HEAD
tree 340c0a26a5efed1f029fe1d719dd2f3beebdb910
parent 1ac5acdc695b837a921897a9d42acc75649cfd4f
author Edward Thomson <ethomson@edwardthomson.com> 1422564055 -0600
committer Edward Thomson <ethomson@edwardthomson.com> 1422564055 -0600
My witty comment goes here.您确实可以看到,这是一个分辨率为1秒的Unix时间戳。
https://stackoverflow.com/questions/28237043
复制相似问题