1

这是我.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

是否如下:

本地:主 <--同步--> 远程:

git remove -v返回以下输出:

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

来源 git@github.com:username/repository.git(推送)

4

3 回答 3

1

这里可能会发生多种情况:

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

  1. 您可能正在将本地分支 XYZ(不是 master)推送到 origin/master
  2. 您可能正在推送到不同的 URL

要解决这个问题,请运行以下代码:

  1. git 分支,确保你在 master 上
  2. git for-each-ref --format="local: %(refname:short) <--sync--> remote: %(upstream:short)" refs/heads
  3. git 远程 -v

后者将显示一个关联表,显示哪个本地分支与哪个远程同步。最后,最新的语句显示了您的远程 url。

我从我的G2项目中获取了这些命令

于 2012-08-23T08:02:32.797 回答
1

我没有找出问题所在,所以我所做的是从 github 新建一个 git clone 以获取更新的文件。

于 2012-08-24T08:24:46.333 回答
-1

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

于 2012-08-23T07:50:15.580 回答