Git标签是否拥有独立于提交记录的时间戳?
Git标签的时间戳说明
Git中的标签分为两类,在时间戳记录上有明显区别:
- 轻量标签:本质是指向提交的简单指针,没有独立的标签创建/修改时间戳。它仅关联对应提交的作者/提交者时间戳,标签文件的ctime/mtime属于本地文件系统时间,不属于Git仓库的版本化记录,换环境后会丢失。查看这类标签时,只能看到关联提交的时间信息,比如执行
git show <轻量标签名>,输出的是提交的详情。 - 附注标签:属于Git的完整对象,会单独记录标签创建时的时间戳(即打标签的时间)。创建时需用
git tag -a命令,Git会自动记录标签创建者、邮箱和创建时间。查看时执行git show <附注标签名>,能看到标签自身的创建时间(输出里的Tagger字段下方的日期),和关联提交的时间戳完全分开。
如果需要批量查看标签时间:
- 针对附注标签,执行
git for-each-ref --format='%(refname:short) %(taggerdate)' refs/tags,会列出每个附注标签的名称和创建时间。 - 轻量标签无法获取独立创建时间,可通过
git for-each-ref --format='%(refname:short) %(committerdate)' refs/tags查看其关联提交的提交者时间。
内容的提问来源于stack exchange,提问作者Dustin Oprea
相关产品推荐
相关产品推荐

