如何通过Git查询代码变更的生产发布时间与分支归属?
代码提交发布时间查询方案
- 先确认提交所在分支:执行
git branch --contains <你的提交SHA>,这个命令会直接列出所有包含该提交的分支。如果结果里有production,说明该提交已经在生产分支上,直接用git show <SHA> --pretty=format:"%ci"查看提交时间戳,就是它进入生产环境的时间。 - 若提交仅在
master分支:- 找出所有
master合并到production的提交:执行git log production --grep="Merge branch 'master'"(可根据团队合并提交的话术调整关键词,比如有的会写"Merge master into production"),这些提交就是可能包含你变更的合并点。 - 验证合并提交是否包含你的变更:对每个筛选出的合并提交,执行
git merge-base --is-ancestor <你的提交SHA> <合并提交SHA>,如果命令无报错(返回0),说明你的提交已被包含在这个合并里,再用git show <合并提交SHA> --pretty=format:"%ci"就能得到合并到生产分支的时间。
- 找出所有
- 补充技巧:如果之前的
git log --graph信息不够清晰,试试git log --graph --oneline --decorate master production,--decorate会显示分支标签,能更直观看到合并节点的位置。
内容的提问来源于stack exchange,提问作者namrorrim
相关产品推荐
相关产品推荐

