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

如何在无上游分支时查看当前分支的本地Git提交?

查看当前分支本地提交的解决方案

下面给你几个实用的方法,不管当前分支有没有设置上游分支都能用:

方法一:Shell 条件判断命令

直接在终端执行这条命令,它会自动检测当前分支是否有上游,然后对应执行正确的日志查询:

if git rev-parse --abbrev-ref @{u} >/dev/null 2>&1; then git log @{u}..HEAD; else git log --not --remotes HEAD; fi
  • 原理:git rev-parse --abbrev-ref @{u}会尝试获取当前分支的上游分支,成功就说明有上游,执行你原来的对比逻辑;失败就说明没有上游,用--not --remotes HEAD筛选出当前分支中所有未出现在远程仓库的提交。

方法二:配置 Git 别名(推荐)

把上面的逻辑做成 Git 别名,以后用起来更方便:

  1. 打开终端,执行这条命令添加全局别名:
git config --global alias.local-log '!f() { if git rev-parse --abbrev-ref @{u} >/dev/null 2>&1; then git log @{u}..HEAD; else git log --not --remotes HEAD; fi; }; f'
  1. 之后只要输入git local-log,就能一键查看当前分支的本地提交了。

补充说明

如果你想要的是当前分支独有的提交(不管是否推送到远程,仅当前分支存在、其他本地分支没有的提交),可以用这条命令:

git log HEAD --not $(git for-each-ref --format='%(refname)' refs/heads | grep -v $(git branch --show-current))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 11:30:57