Git 合并请求历史记录查看:一行命令搞定

在团队协作开发中,经常遇到这样的情况:昨天同事提了个合并请求(Pull Request),今天想看看它到底改了哪些文件、谁审核过、有没有被合并——但点进 Git 平台翻来翻去,页面跳转多、信息分散,效率很低。

其实不用点半天

如果你用的是 Git 命令行,直接敲这一句就能看到本地所有跟合并相关的提交历史:

git log --merges --oneline

输出类似这样:

a1b2c3d Merge pull request #42 from dev/feature-login
9f8e7d6 Merge branch 'main' into feature-payment
5c4b3a2 Merge pull request #39 from ops/fix-cdn-path

每行开头是 commit ID,后面是合并描述,一眼就能识别出哪些是 PR 合并进来的。

想看更详细?加个参数就行

加上 --graph --decorate --all,还能看到分支关系和标签:

git log --graph --decorate --merges --oneline

终端里立刻出现带 ASCII 分支图的视图,(origin/main)(HEAD -> main)(pull/42/head) 全都标得清清楚楚。

GitHub / GitLab 上怎么快速查?

如果必须用网页端,别从仓库首页一层层点「Pull requests」→「Closed」→ 拉滚动条找。试试这个技巧:

在 GitHub 仓库页右上角搜索框,直接输入:is:pr is:merged author:username(把 username 换成你想查的人),回车后只显示他提交并已合并的 PR 列表;想查某段时间的,再加 merged:2024-05-01..2024-05-31

GitLab 类似,用 scope:merge_requests state:merged 配合时间筛选器,比手动翻快得多。

小提醒:别忘了刷新本地记录

上面命令查的是你本地的 Git 历史。如果别人刚合并了新 PR,而你还没 git fetch origin,那肯定看不到。顺手加一句:

git fetch origin && git log --merges --oneline -n 10

一次拉取+查看最近 10 条合并记录,省心又准确。