在团队协作开发中,经常遇到这样的情况:昨天同事提了个合并请求(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 条合并记录,省心又准确。