Git fetch未更新源站/主站

Git fetch未更新源站/主站,git,Git,当我执行git fetch时,什么也没有发生,即使我可以看到我的origin/master在GitHub上的后面。我从git fetch获得的唯一输出是 $ git fetch origin From github.com:myname/myrepo * branch master -> FETCH_HEAD 我想要的输出是 $ git fetch From github.com:myname/myrepo 6a6a103..77edb9d ma

当我执行
git fetch
时,什么也没有发生,即使我可以看到我的
origin/master
在GitHub上的后面。我从git fetch获得的唯一输出是

$ git fetch origin
From github.com:myname/myrepo
 * branch            master      -> FETCH_HEAD
我想要的输出是

$ git fetch
From github.com:myname/myrepo
   6a6a103..77edb9d  master     -> origin/master
 * [new branch]      feature    -> origin/feature
当我运行git ls remote时:

$ git ls-remote
From git@github.com:myname/myrepo.git
77edb9d40be3a75bd25288ab375ef16e009267fa        HEAD
77edb9d40be3a75bd25288ab375ef16e009267fa        refs/heads/master      <-- latest
9f2c06129eefef3f1cdc96499058d7b58e2ad0b6        refs/heads/feature

为什么git fetch不做任何事情?

origin
的refspec是hosed。refspec是远程配置的一部分,它告诉git获取什么以及如何获取。对其进行了更详细的描述

.git/config
中有一个部分

[remote "origin"]
    url = git@github.com:myname/myrepo.git
这应该是

[remote "origin"]
    url = git@github.com:myname/myrepo.git
    fetch = +refs/heads/*:refs/remotes/origin/*
如果有办法通过命令行解决这个问题,我不知道。我也不知道为什么会这样

是否有办法通过命令行解决此问题

您可以使用命令(来):

[remote "origin"]
    url = git@github.com:myname/myrepo.git
    fetch = +refs/heads/*:refs/remotes/origin/*
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"