当git显示“0”时,如何从远程回购中获取更改;存储库是最新的;?

当git显示“0”时,如何从远程回购中获取更改;存储库是最新的;?,git,visual-studio,github,Git,Visual Studio,Github,我不确定这是什么原因造成的,但我的本地回购协议缺少主/来源的更改,我似乎无法获得这些更改 当我尝试拉取时,git返回“存储库已经是最新的,没有要拉取的更改。” 我试图将master/origin合并到我的本地回购中,但它没有停止更改 我将master/origin下拉到本地master repo,并尝试将本地master合并到本地分支 我将主/原点合并到[我的分支]/原点,然后合并 事实上,orgin/master拥有与我的本地回购不同的东西。我如何告诉git“从master那里获取更改并将

我不确定这是什么原因造成的,但我的本地回购协议缺少主/来源的更改,我似乎无法获得这些更改

  • 当我尝试拉取时,git返回“存储库已经是最新的,没有要拉取的更改。”
  • 我试图
    master/origin合并到我的本地回购中,但它没有停止更改
  • 我将master/origin下拉到本地master repo,并尝试将本地master合并到本地分支
  • 我将主/原点合并到[我的分支]/原点,然后合并
事实上,orgin/master拥有与我的本地回购不同的东西。我如何告诉git“从master那里获取更改并将它们带到我的本地分支”

这似乎应该是一个简单的过程,所以不确定原因是什么


您会问,是否有办法“让git以某种方式比较这两个分支”——这就是它所做的,并且它没有发现任何差异。这是你问题的根本原因——不是找到你认为存在的差异。你需要找出为什么这些差异不是你所期望的那样

在我看来,有两种可能性:

简单的一个:您正在查找的更改尚未推送到
。和你的同事核实一下

更复杂的一个:您的本地存储库未正确配置为从
源站
提取-要么
源站
不是它应该的样子,要么您的
主分支
分支未从正确的远程分支提取。要诊断此类问题,请执行以下操作(1):

  • 在编辑器中打开一个终端(在VS代码中按Ctrl+Backtick)
  • 键入以下内容:
    git remote-v
  • 您将看到如下内容:
  • 这将告诉您在拉(取)或推时要连接到哪个远程服务器和存储库

  • 键入以下内容:
    git分支-vv
  • 您将看到如下内容:
  • 这列出了所有本地分支(即
    develope
    master
    )以及它们“连接”到的远程分支(即本地
    develope
    ->源
    develope

    如果我的怀疑是正确的,那么你会发现以下一项或两项都是正确的:

  • origin未指向您期望的存储库,或者
  • 您的
    主分支
    未连接到正确的原始分支
  • 如果这两种情况都是这样,那么您将无法将您认为在
    origin/master
    上的提交合并到本地分支中

    如果这两种情况都不是这样,那么这意味着你认为在原点上的承诺不存在——也许是有人没有推动它们



    (1) 我在Linux机器上的Visual Studio代码中执行此操作。在Windows或完整的Visual Studio产品中,这些步骤可能不同。

    您会问,是否有某种方法可以“让git以某种方式比较两个分支”——这就是它所做的,而且它没有发现任何差异。这是你问题的根本原因——不是找到你认为存在的差异。你需要找出为什么这些差异不是你所期望的那样

    在我看来,有两种可能性:

    简单的一个:您正在查找的更改尚未推送到
    。和你的同事核实一下

    更复杂的一个:您的本地存储库未正确配置为从
    源站
    提取-要么
    源站
    不是它应该的样子,要么您的
    主分支
    分支未从正确的远程分支提取。要诊断此类问题,请执行以下操作(1):

  • 在编辑器中打开一个终端(在VS代码中按Ctrl+Backtick)
  • 键入以下内容:
    git remote-v
  • 您将看到如下内容:
  • 这将告诉您在拉(取)或推时要连接到哪个远程服务器和存储库

  • 键入以下内容:
    git分支-vv
  • 您将看到如下内容:
  • 这列出了所有本地分支(即
    develope
    master
    )以及它们“连接”到的远程分支(即本地
    develope
    ->源
    develope

    如果我的怀疑是正确的,那么你会发现以下一项或两项都是正确的:

  • origin未指向您期望的存储库,或者
  • 您的
    主分支
    未连接到正确的原始分支
  • 如果这两种情况都是这样,那么您将无法将您认为在
    origin/master
    上的提交合并到本地分支中

    如果这两种情况都不是这样,那么这意味着你认为在原点上的承诺不存在——也许是有人没有推动它们



    (1) 我在Linux机器上的Visual Studio代码中执行此操作。在Windows或完整的Visual Studio产品中,步骤可能不同。

    A
    git pull
    应该进行pull&merge。听起来你的遥控器配置错误,而且你拉的不是你认为你在拉的东西。不幸的是,这里没有足够的信息来整理它。您需要检查哪些本地分支与哪些远程分支相关联-从
    git remote-v
    开始查看您的远程URL和
    git branch-vv
    查看分支之间的关系。我可以告诉git以某种方式比较这两个分支吗?感觉合并应该可以做到这一点,但它不起作用。它会做到的-我怀疑它在您的案例中没有做到,因为您的存储库没有按照您认为的方式进行配置。我只是附加了一个历史时间线。灰线为本地主控。我把当地的主人并入了我的家庭
    origin git@github.com:user/my-repository.git (fetch)
    origin git@github.com:user/my-repository.git (push)
    
    develop      abcde1234 [origin/develop] last commit message on develop
    master       1234abcde [origin/master] last commit message on master