Git从我的公共存储库拉不工作

时间:2012-08-23 07:39:21

标签: github repository git-pull

这是我的存储库中的.git/config配置文件:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = git@github.com:<username>/<repository>.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[user]
    name = <username>

我在github中正确配置了我的公共ssh密钥。我将更改从另一台机器推送到此存储库,该机器已正确更新为github。

然而,在我当前的机器中,当我发出一个git pull请求时:

git pull origin master

它说“已经是最新的”

如果不是这样的话,我的github存储库中的更新文件不在我的本地存储库中。

我可以做错什么?

更新

我从Olivier Refalo的回答中尝试了以下内容:

在github和本地,分支是主人。

命令的输出:

git for-each-ref --format="local: %(refname:short) <--sync--> remote: %(upstream:short)" refs/heads

以下是:

  

local:master&lt; - sync - &gt;远程:

git remove -v返回以下输出:

  

origin git@github.com:username / repository.git(fetch)

     

origin git@github.com:username / repository.git(push)

3 个答案:

答案 0 :(得分:1)

这里可能会发生多件事:

我相信git,遥控器与你的本地同步。这里的问题是它可能指向一个不同于您想到的位置。

  1. 您可能正在将本地分支XYZ(非主人)推送到原始/主人
  2. 您可能会推送到其他网址
  3. 想出这个,运行以下代码:

    1. git branch,确保你是主人
    2. git for-each-ref --format =“local:%(refname:short)&lt; - sync - &gt; remote:%(upstream:short)”refs / heads
    3. git remote -v
    4. 后面会显示一个关联表,显示哪个本地分支与哪个远程同步。 最后,最新的声明会显示您的远程网址。

      我从我的G2

      项目中获取了这些命令

答案 1 :(得分:0)

我没有发现问题是什么,所以我做的是来自github的新git克隆以获取更新的文件。

答案 2 :(得分:-1)

尝试使用拉力。在git和pull之间添加“force”