首页 > 解决方案 > 给定提交的unix时间戳,如何从git获取提交?

问题描述

由于某些原因,我的应用程序中的“版本”是一个时间戳(用 生成git show --format=%ct)。所以错误报告说这vApp-<timestamp>是坏的。

我将如何使用 反转操作并从时间戳获取提交哈希git

我可以运行git log --date=unix然后依靠less搜索时间戳,但我希望 git 有更多“内置”的东西。

这与所谓的重复不同,因为我不想要“特定日期的所有提交”,我想要给定该提交的时间戳的单个提交。

标签: git

解决方案


假设您的 Unix 时间戳是 1635020939,那么应该这样做:

git log --date=unix --before=1635020939 --after=1635020939 --pretty=format:"%h"

请注意,Git 仅将时间戳存储为 1 秒分辨率,因此不能保证您只获得 1 个提交 ID。如果多个提交具有相同的提交者日期时间戳,则它们都将被返回。


推荐阅读