如何查找指定提交数月前的Commit SHA以重建GitHub Pull Request?
查找指定时间范围的Commit SHA的简便方法
不用手动逐一排查,有几种高效的方式可以快速定位目标提交:
按时间范围过滤git log
直接用git log的时间参数缩小范围,比如要找3个月左右的提交:# 显示指定时间区间的完整提交记录 git log --since="3 months ago" --until="2 months ago" # 用--oneline简化输出,只显示短SHA和提交信息 git log --since="3 months ago" --until="2 months ago" --oneline要是记得提交的关键词(比如PR相关的描述),还能加
--grep精准过滤:git log --since="3 months ago" --until="2 months ago" --oneline --grep="你的PR相关关键词"通过GitHub网页端定位
如果原PR还在仓库的PR列表(哪怕已关闭),打开PR页面就能在提交记录里找到最初的SHA;也可以进入仓库的Commits页面,用顶部的时间筛选器选择对应时间段,结合提交信息快速定位。用git reflog回溯操作记录
要是本地仓库没清理过reflog,它会记录所有本地操作(分支创建、切换等)。执行以下命令找到当初切出开发分支的记录,对应的SHA就是开发起点:git reflog --since="3 months ago"按作者过滤(针对自己的提交)
如果目标提交是你自己的,加上--author参数进一步缩小范围:git log --since="3 months ago" --until="2 months ago" --oneline --author="你的Git用户名"
内容的提问来源于stack exchange,提问作者Igor
相关产品推荐
相关产品推荐

