git - 给定提交的unix时间戳,如何从git获取提交?
问题描述
由于某些原因,我的应用程序中的“版本”是一个时间戳(用 生成git show --format=%ct
)。所以错误报告说这vApp-<timestamp>
是坏的。
我将如何使用 反转操作并从时间戳获取提交哈希git
?
我可以运行git log --date=unix
然后依靠less
搜索时间戳,但我希望 git 有更多“内置”的东西。
这与所谓的重复不同,因为我不想要“特定日期的所有提交”,我想要给定该提交的时间戳的单个提交。
解决方案
假设您的 Unix 时间戳是 1635020939,那么应该这样做:
git log --date=unix --before=1635020939 --after=1635020939 --pretty=format:"%h"
请注意,Git 仅将时间戳存储为 1 秒分辨率,因此不能保证您只获得 1 个提交 ID。如果多个提交具有相同的提交者日期时间戳,则它们都将被返回。
推荐阅读
- react-native - 删除 npm 依赖项后重建 react-native 应用程序时出现“找不到项目”错误
- database - 如何在没有 Web 服务器的情况下查看 H2 创建的 database.mv.db 文件
- search - 使用按钮更改搜索表单
- sql - 计算带有子查询的行数的比率
- python - 使用 python 在文件夹和子文件夹中创建 .pyd 文件
- ibm-cloud - 使用端口 80 部署标准容器时,IBM Cloud Code Engine 修订失败
- python - 从波形文件计算具有定义的 FFT 长度、块大小和窗口的 FFT
- reactjs - 从 React 中的不同函数获取字符串
- sparql - 使用 rdf4j 构造 sparql 查询
- reactjs - 我可以在函数中使用 React.lazy 吗?