问题描述
对不起,如果这是在其他地方回答的。我看了几个线程,但无济于事:(
简单的问题。 我们有一个远程主分支。开发人员已对该远程主分支提交了多项更改。我需要将这些应用到本地分支(实际上是 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
进行更改,然后其他一切都是本地的,无需任何网络调用。