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

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


当前回答

gitbranch-v将显示每个本地分支是否“超前”。

其他回答

这对我来说效果更好:

git log --oneline @{upstream}..

or:

git log --oneline origin/(remotebranch)..
git diff origin

假设您的分支被设置为跟踪原点,那么这应该会向您显示差异。

git log origin

将向您提供提交的摘要。

我使用以下别名仅获取已提交但尚未推送(针对当前分支)的文件列表(以及状态)

git config --global alias.unpushed \
"diff origin/$(git name-rev --name-only HEAD)..HEAD --name-status"

那么只需执行以下操作:

git unpushed

我以前做过一次提交,没有推送到任何分支,也没有远程或本地。只是承诺。其他答案对我没有任何作用,但有:

git reflog

在那里我找到了我的承诺。

如上所述:

git diff origin/master。。头部

但如果您使用的是gitgui

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

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