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

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


当前回答

要查看尚未推送的所有分支上的所有提交,请执行以下操作:

git log --branches --not --remotes

要查看每个分支的最新提交以及分支名称,请执行以下操作:

git log --branches --not --remotes --simplify-by-decoration --decorate --oneline

其他回答

git show

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

git show --name-only

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

如上所述:

git diff origin/master。。头部

但如果您使用的是gitgui

打开gui界面后,选择“Repository”->在“Visualize History”下

注意:有些人喜欢使用CMDPrompt/Terminal,而有些人则喜欢使用GitGUI(为了简单起见)

显示本地但非上游的所有提交:

git log @{u}..

@{u} 或@{upstream}表示当前分支的上游分支(有关详细信息,请参阅git-rev-parse-help或git-help修订版)。

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

 git log --branches  @{u}..

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

git branch --all --no-merged

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