如何查找本地master领先origin/master的32个未推送/合并提交
识别本地未推送到远程的超前提交的方法
当Git提示本地master分支超前origin/master若干提交时,可通过以下命令精准筛选出所有仅存在本地、尚未推送的提交:
- 基础查看命令:直接列出所有超前提交的完整信息(提交哈希、作者、提交时间、提交说明)
命令里的git log origin/master..masterorigin/master..master是Git的提交范围语法,含义是「所有在master分支上、但不在origin/master分支上的提交」,和Git提示的超前提交完全对应。 - 紧凑列表模式:如果只需要快速浏览提交概要,加
--oneline参数将每个提交压缩为单行显示git log --oneline origin/master..master - 查看改动详情:如果需要核对每个提交对应的具体代码变更,加
-p参数输出每个提交的diff内容git log -p origin/master..master - 通用简写:如果你当前正处在本地master分支上,可以用
@{upstream}指代当前分支跟踪的远程对应分支,无需手动写分支名,命令可简写为git log --oneline @{upstream}..HEAD
注意:如果距离上次同步远程代码时间较长,建议先执行
git fetch origin更新本地存储的远程分支状态(该操作不会修改本地工作区代码),再执行上述log命令,避免因本地远程引用过期导致查询结果不准。
内容的提问来源于stack exchange,提问作者AmbroseChapel
相关产品推荐
相关产品推荐

