讲师中心 微信公众号
AI工具推荐 视频效率加速

Git如何导出指定时间的提交_Git log日期筛选技巧

千晨小哥_5345

千晨小哥_5345

发布时间:2026-05-08 07:39:19

|

794人浏览过

|

来源于php中文网

原创

Git导出指定时间提交本质是用git log筛选哈希,再配合format-patch或archive生成内容;核心参数--since/--until仅认ISO(如"2026-04-20")和自然语言格式,错误格式会被静默忽略。

git如何导出指定时间的提交_git log日期筛选技巧

Git 本身不提供“导出”功能,所谓“导出指定时间的提交”,本质是用 git log 筛出提交哈希,再配合 git format-patch 或 git archive 生成可分发内容——漏掉这层理解,直接抄命令容易导出错东西。

用 --since 和 --until 精确圈定日期范围

这两个参数是筛选的核心,但 Git 只认两种格式:ISO 标准("2026-04-20")和自然语言("3 days ago")。写成 "2026/04/20" 或 "20-04-2026" 会被静默忽略,命令看似执行成功,实则返回全部日志。

  • git log --since="2026-04-20" --until="2026-04-24":查 4 月 20 日至 24 日(含)的提交
  • git log --since="2026-04-22 09:00" --until="2026-04-22 17:30":支持精确到分钟,适合事故回溯
  • Windows PowerShell 用户注意:git log --since="yesterday 00:00" 中的空格和冒号在 PowerShell 里可能被误解析,建议用单引号包裹整个值

作者、路径、关键词要组合着加,别只靠时间

单靠时间范围容易捞出大量无关提交。比如 CI 自动合并的提交、文档更新、依赖升级等,它们的 committer date 往往集中在同一时段。

Git Factory
Git Factory

为每个编码任务配置并管理独立的 Git worktree,支持并行分支和清晰的 PR 工作流,避免合并冲突。

下载
  • 加 --author="zhangsan" 锁定人,避免拉进别人批量提交的噪音
  • 加路径限制,如 -- src/api/,Git 会跳过未改动该目录的提交,大幅提速
  • 加 --grep="fix|bug" 过滤提交信息,-i 可忽略大小写
  • 注意:--author 匹配的是 author 字段,不是 committer;如果某人 rebase 后提交,作者名可能和实际操作人不一致

导出补丁前,先确认用的是 author date 还是 committer date

默认 git log 显示和过滤用的都是 committer date(即执行 git commit 或 git merge 的时间),但如果你要按“代码真正写出来的时间”筛选(比如排查某次手写代码引入的问题),就得切到 author date。

  • 用 git log --pretty=format:"%h %ad %cd %s" --date=short 对比两列日期,看是否一致
  • 若不一致,且需按 author date 筛,必须显式加 --author-date-order,否则 --since 仍按 committer date 生效
  • 导出补丁时:git format-patch --stdout --since="2026-04-20" --author-date-order origin/main 才能确保时间逻辑对得上

大仓库里不加 -n 就跑时间筛选,等于主动卡死自己

在几万提交的仓库里执行 git log --since="1 month ago",Git 默认从 HEAD 开始遍历整个 DAG 图,不设上限就扫到底——尤其加上 --all 或没指定分支时,耗时可能从秒级升到分钟级。

  • 加 -n 50 限制条数:git log -n 50 --since="3 days ago" --oneline,响应立刻变快
  • 明确指定分支:git log main --since="2026-04-20" 比 --all 快一个数量级
  • 如果只是要打包某段时间的代码快照,用 git archive --format=zip --output=release-20260422.zip HEAD $(git log --since="2026-04-20" --pretty="%h" -n 1) 更轻量,不用生成 patch 文件

最容易被忽略的是时区和 date 字段的隐式绑定:本地 Git 配置的时区决定 "yesterday" 的起始点,而 --since 默认只作用于 committer date —— 如果你没验证过仓库里 author date 和 committer date 的分布差异,按时间导出的结果很可能漏掉关键提交。

热门AI工具

更多
超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

6099

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

1780

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

1054

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3977

2024.04.09

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3721

2024.04.09

Linux 新手先学哪些命令
Linux 新手先学哪些命令

Linux新手命令专题汇集终端基础、文件目录操作、文本查看、软件安装和权限管理等入门文章,帮助按实际任务练习常用命令并建立命令行操作习惯。

0

2026.10.15

MySQL 忘记密码怎么办
MySQL 忘记密码怎么办

MySQL忘记密码专题汇集不同版本与系统下的root密码重置方法,覆盖MySQL 5.7、8.0、Mac、Linux及本地集成环境,并提示恢复权限与重新登录的检查步骤。

0

2026.10.15

Vue.js 中 ref 和 reactive 的区别
Vue.js 中 ref 和 reactive 的区别

Vue.js中ref和reactive的区别专题汇集两种响应式API的定义、访问方式、对象解构、侦听与性能取舍等文章,帮助结合实际状态类型选择合适写法。

0

2026.10.15

VS Code 怎么配置开发环境
VS Code 怎么配置开发环境

VS Code开发环境专题汇集编辑器安装、语言扩展、编译器、解释器、终端和调试配置文章,覆盖Java、Python、C++和PHP等常见语言的入门设置。

0

2026.10.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
vscode手册
vscode手册

共0课时 | 0人学习

Git 教程
Git 教程

共21课时 | 8万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn