Git未显示来自远程主分支的挂起提交
抱歉,如果这是在其他地方回答的。我已经查看了几个线程,但没有结果:( 简单的问题。 我们有一个远程主分支。一个开发人员已经向该远程主分支提交了几个更改。我需要将这些更改应用到本地分支(实际上是QA服务器;这里没有开发人员),但在这样做之前,我希望git告诉我哪些提交是挂起的 我使用“git branch-a”的结果尝试了几个“git diff”的组合,但没有结果。总是空的Git未显示来自远程主分支的挂起提交,git,git-branch,git-commit,git-diff,git-log,Git,Git Branch,Git Commit,Git Diff,Git Log,抱歉,如果这是在其他地方回答的。我已经查看了几个线程,但没有结果:( 简单的问题。 我们有一个远程主分支。一个开发人员已经向该远程主分支提交了几个更改。我需要将这些更改应用到本地分支(实际上是QA服务器;这里没有开发人员),但在这样做之前,我希望git告诉我哪些提交是挂起的 我使用“git branch-a”的结果尝试了几个“git diff”的组合,但没有结果。总是空的 $ git branch -a * master remotes/origin/HEAD -> origin/ma
$ 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
不会更改本地master
分支。它将下载发生在origin/master
上的更新,即远程分支的本地副本。因此,在某种程度上,会有更改,但不会更改master
,这应该是您关心的
Git不像SVN或CVS那样一直与服务器联系(因为它们在本地没有信息)。相反,您可以在需要时获取更改,然后所有其他内容都是本地的,而不涉及任何网络调用。您先获取了吗?不,我还不想做任何更改。我理解“获取”将在本地更改某些内容…对吗?是否存在任何“只读”怎么说呢?请记住,仅仅因为您尝试与origin/master
进行比较并不意味着它实际上与git服务器上的远程分支进行比较。它只检查远程分支的本地副本。因此,请确保fetch firstfetch不会改变任何东西,除了获取新的提交之外,没有挂起的commit,Git格式。必须运行Git fetch
才能获得实际提交。完成提交后,您可以检查它们。在此之前,您没有提交,也无法检查它们。在存储库中进行提交不会影响您自己的分支和签出:它只是将提交添加到存储库数据库中,以便您可以访问它们。