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

Git如何获取本地未推送(未同步)的分支列表?

如何获取Git本地未同步(未推送)的分支列表

嘿,这个问题我之前也碰到过——本地攒了一堆分支,迁移设备前要筛选未推送的确实很头疼。不过Git有几个实用的命令能帮你快速搞定,我给你一步步讲:

方法1:查看所有分支的远程关联与同步状态

先运行这个命令,它会展示每个本地分支的详细同步情况:

git branch -vv

输出的每一行对应一个本地分支,格式大概是这样:

feature/ABC-123  abc1234 [origin/feature/ABC-123: ahead 2] 完成用户中心优化
  bugfix/XYZ-789   def5678 修复支付回调超时问题
  main             ghi9012 [origin/main] 合并最新远程代码

你需要重点关注两种情况:

  • 没有[origin/xxx]标记的分支:比如上面的bugfix/XYZ-789,说明这个分支从未推送到远程仓库,完全是本地独有的
  • 带有ahead N标记的分支:比如feature/ABC-123,说明这个分支比关联的远程分支多了N个未推送的提交

方法2:精准筛选未推送分支

如果分支太多,手动看太麻烦,可以用命令直接筛选:

第一步:先同步远程最新状态(关键!避免误判)

git fetch --all

这一步会拉取所有远程分支的最新提交,确保你看到的状态是准确的。

第二步:筛选从未推送的本地分支

git branch -vv | grep -E '^  \S+  [0-9a-f]+  '

这个命令会过滤出所有没有关联远程分支的本地分支,也就是完全没推过的。

第三步:筛选有未推送提交的分支

git branch -vv | grep 'ahead'

这个会直接列出所有比远程分支新、还有提交没推送的分支。

额外提示

  • 对于从未推送的分支,推送时记得用git push -u origin 你的分支名,这样以后就能自动关联远程分支,方便后续同步
  • 审核分支时,可以结合你的Jira工单来判断:已经完成工单的分支如果不需要保留,直接删除就行;还在进行或者需要备份的,再推送到远程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:06:58