我如何查看我所做的任何尚未推送到远程存储库的本地提交?有时,git状态会显示我的分支是在origin/master之前提交的X,但并不总是这样。
这是我安装Git的bug,还是我遗漏了什么?
我如何查看我所做的任何尚未推送到远程存储库的本地提交?有时,git状态会显示我的分支是在origin/master之前提交的X,但并不总是这样。
这是我安装Git的bug,还是我遗漏了什么?
当前回答
如上所述:
git diff origin/master。。头部
但如果您使用的是gitgui
打开gui界面后,选择“Repository”->在“Visualize History”下
注意:有些人喜欢使用CMDPrompt/Terminal,而有些人则喜欢使用GitGUI(为了简单起见)
其他回答
类似:要查看未合并的分支,请执行以下操作:
git branch --all --no-merged
这些可能是可疑的,但我建议cxreg给出答案
我认为最典型的方法是运行以下内容:
git cherry --abbrev=7 -v @{upstream}
然而,我个人更喜欢跑步:
git log --graph --decorate --pretty=oneline --abbrev-commit --all @{upstream}^..
它显示了所有未在上游合并的分支的提交,加上上游的最后一次提交(它显示为所有其他提交的根节点)。我经常使用它,所以我为它创建了别名noup。
git config --global alias.noup \
'log --graph --decorate --pretty=oneline --abbrev-commit --all @{upstream}^..'
gitbranch-v将显示每个本地分支是否“超前”。
这给出了origin/master和HEAD之间所有提交的日志:
git log origin/master..HEAD
当HEAD位于主分支上时,这将提供未推送提交的日志。
同样,要查看差异:
git diff origin/master..HEAD
我建议你去看剧本https://github.com/badele/gitcheck,我已经编写了这个脚本,用于一次性签入所有git存储库,它显示了谁没有提交,谁没有推送/拉取。
这里是一个示例结果