You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub上预览PR合并结果及squash后的Git历史?

预览GitHub PR合并结果及Squash后的Git历史

一、预览PR的合并结果

网页端操作

  • 打开目标PR页面,切换到Files changed标签,这里展示的就是PR合并到目标分支后的所有文件变更,直接就能看到合并后的代码差异。
  • 在Conversation标签下,GitHub会自动检测合并冲突,没有冲突的话,点击合并按钮旁的下拉菜单选择合并方式,页面会实时展示对应方式下的合并效果,包括提交历史的结构预览。

本地操作(更精准)

  • 切换到目标分支(比如main)并拉取最新代码:
    git checkout main && git pull
    
  • 执行无提交的合并操作,把PR分支合并到本地目标分支:
    git merge --no-commit --no-ff <PR分支名>
    
  • 此时可以用git diff查看工作区的合并结果,或者用IDE直观查看文件变化。如果有冲突,Git会直接提示,你可以提前尝试解决。确认后放弃合并只需执行:
    git merge --abort
    

二、预览Squash后的Git历史状态

网页端操作

  • 在PR页面的合并选项中选择Squash and merge,页面会弹出提交信息编辑框,同时展示squash后的历史预览:PR的多个提交会被压缩成一个新提交,追加到目标分支的历史末尾,你能直观看到这个新提交在历史中的位置。

本地操作(更详细)

  • 拉取PR分支到本地并切换过去:
    git fetch origin <PR分支名> && git checkout <PR分支名>
    
  • 切换到目标分支并拉取最新代码:
    git checkout main && git pull
    
  • 执行squash合并但暂不提交:
    git merge --squash <PR分支名>
    
  • 用git diff --cached查看暂存的所有变更,确认和预期一致后,模拟生成squash提交:
    git commit -m "替换为你的squash提交信息"
    
  • 现在用git log --oneline查看历史,就能看到压缩后的完整Git状态了——目标分支后跟着一个包含所有PR变更的新提交。如果不满意,撤销这次提交即可:
    git reset HEAD~1
    

内容的提问来源于stack exchange,提问作者Martel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 23:30:42