【问题标题】:Git not displaying pending commits from remote master branchGit 不显示来自远程主分支的待处理提交
【发布时间】:2021-04-30 10:49:56
【问题描述】:

对不起,如果在其他地方回答了这个问题。我看了几个帖子,但都无济于事:(

简单的问题。 我们有一个远程主分支。开发人员已对该远程主分支提交了多项更改。我需要将这些应用到本地分支(实际上是 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
$

我做错了什么?

非常感谢!

【问题讨论】:

  • 你先抓取了吗?
  • 没有。我还不想做任何改变。我知道“获取”会在本地改变一些东西......对吗?是否有任何“只读”方式来说明这一点?
  • 请记住,仅仅因为您尝试与 origin/master 进行比较并不意味着它实际上与 git 服务器上的远程分支进行比较。它只检查远程分支的本地副本。所以一定要先获取
  • fetch 不会改变任何东西,除了获取新的提交
  • 在 Git 中没有 pending 提交这样的东西。您必须运行 git fetch 才能获得实际的提交。提交后,您可以检查它们。在那之前,您没有它们,也无法检查它们。在您的存储库中进行提交不会影响您自己的分支和签出:它只是将提交添加到存储库数据库,以便您可以访问它们。

标签: git git-branch git-commit git-diff git-log


【解决方案1】:

我做错了什么?

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

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

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

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

【讨论】:

    猜你喜欢
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    • 1970-01-01
    • 2022-01-01
    • 2021-07-11
    • 2023-04-10
    相关资源
    最近更新 更多