我如何查看我所做的任何尚未推送到远程存储库的本地提交?有时,git状态会显示我的分支是在origin/master之前提交的X,但并不总是这样。

这是我安装Git的bug,还是我遗漏了什么?


当前回答

一种方法是列出一个分支上可用但另一个分支不可用的提交。

git log ^origin/master master

其他回答

git show

将显示本地提交中的所有差异。

git show --name-only

将显示本地提交id和提交名称。

git cherry -v 

摘自:Git:查看所有未推送的提交或不在其他分支中的提交。

类似:要查看未合并的分支,请执行以下操作:

git branch --all --no-merged

这些可能是可疑的,但我建议cxreg给出答案

在当前分支中查找未推送提交的便捷数字别名:

alias unpushed = !GIT_CURRENT_BRANCH=$(git name-rev --name-only HEAD) && git log origin/$GIT_CURRENT_BRANCH..$GIT_CURRENT_BRANCH --oneline

它的基本作用是:

git log origin/branch..branch

而且还确定当前分支名称。

要轻松列出所有分支中的所有未推送提交,可以使用以下命令:

 git log --branches  @{u}..