Git 不显示来自远程主分支的挂起提交

问题描述

对不起,如果这是在其他地方回答的。我看了几个线程,但无济于事:(

简单的问题。 我们有一个远程主分支。开发人员已对该远程主分支提交了多项更改。我需要将这些应用到本地分支(实际上是 QA 服务器;这里没有开发人员),但在此之前,我希望 git 告诉我哪些提交未决。

我尝试了几种“git diff”组合,使用“git branch -a”的结果,但没有任何结果。总是空的。

$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/respaldo
$
$ git diff HEAD master
$ git diff HEAD origin/master
$ git diff master origin/master
$ git diff master remotes/origin/master
$ git log origin/master..HEAD
$ git diff origin/master..HEAD
$

我做错了什么?

非常感谢!

解决方法

我做错了什么?

几乎所有的 Git 操作都会处理您的本地信息。看起来您的 master 分支和您的 origin/master 指向同一个提交。您可能需要先fetch进行更改。

我还不想做任何改变。我知道“获取”会在本地改变一些东西......对吗?是否有任何“只读”方式来说明这一点?

是和否。 fetch 不会更改您本地的 master 分支。它会做的是下载发生在 origin/master 上的更新,即远程分支的本地副本。所以,在某种程度上,会有变化,但不会改变 master,这应该是你关心的。

Git 不像 SVN 或 CVS 那样工作,它们一直在联系服务器(因为它们在本地没有信息)。相反,您可以在需要时fetch 进行更改,然后其他一切都是本地的,无需任何网络调用。