刘勇虎的官方网站
网站内容包含大前端、服务器开发、Python开发、iOS开发、Android开发、网站维护等技术文章。专注于分享技术经验,职业心得体会,IT优秀文章与教程创作。
Stay hungry,Stay foolish,Stay young
1️⃣ 默认时间显示格式git reflog
默认以相对时间格式显示操作记录(如 HEAD@{5 minutes ago}
),完整记录包括:
e1bdff6 HEAD@{2h}: commit: 第二次提交
2️⃣ 自定义时间格式(精确到秒)
使用 --date=format
参数自定义时间格式:
git reflog --date=format:"%Y-%m-%d %H:%M:%S"
在终端执行以下命令,自定义全局时间格式(以 年-月-日 时:分:秒 为例):
git config --global date.format "%Y-%m-%d %H:%M:%S"
输出示例:e1bdff6 HEAD@{2025-07-21 14:30:45}: commit: 修复登录模块
常用格式占位符:
占位符 | 含义 | 示例 |
---|---|---|
%Y |
年份(4位) | 2025 |
%m |
月份(01-12) | 07 |
%d |
日(01-31) | 21 |
%H |
小时(00-23) | 14 |
%M |
分钟(00-59) | 30 |
%S |
秒(00-59) | 45 |
完整占位符列表见 |
3️⃣ 其他常用时间格式
ISO 标准时间:
git reflog --date=iso
输出:e1bdff6 HEAD@{2025-07-21T14:30:45+08:00}: commit...
RFC2822 格式(邮件标准时间):
git reflog --date=rfc2822
输出:e1bdff6 HEAD@{Mon, 21 Jul 2025 14:30:45 +0800}: commit...
原始时间戳(Unix 时间戳 + 时区):
git reflog --date=raw
输出:e1bdff6 HEAD@{1753129845 +0800}: commit...
4️⃣ 关键特性与注意事项
reflog
仅保存在本地 .git/logs/
目录下,不会同步到远程仓库 。 gc.reflogExpire
配置调整)。 git log
的区别: 命令 | 显示内容 | 是否含已删除记录 |
---|---|---|
git reflog |
所有 HEAD 变更操作 | ✅ 是 |
git log |
当前分支的提交历史 | ❌ 否 |
例如:git reset --hard 后,reflog 仍可显示被删除的 commit 。 |
5️⃣ 典型应用场景
git reset --hard HEAD@{2025-07-21-14:30:45}
💡 提示:
- 时间格式参数也适用于
git log
(如git log --date=iso
)。- 使用
git reflog show
可过滤仅显示操作记录(默认隐含此参数)。