完整的信息:

error: Ref refs/remotes/origin/user is at 3636498c2ea7735fdcedc9af5ab3c8689e6abe77 but expected a21359c6cc2097c85775cde6a40105f4bd7100ec
From github.com:{github project url}
 ! a21359c..6273ffc  user -> origin/user  (unable to update local ref)

当前回答

我也有同样的问题,因为我重置到一个旧的提交,即使我已经推送到远程分支。

我通过删除我的本地分支,然后签出原始分支git checkout origin/my_branch,然后执行git checkout my_branch来解决这个问题

其他回答

我无法从我的Git回购,并得到相同的错误如上所述。在我的情况下,我执行的步骤是右键单击项目文件夹->单击设置->单击远程->单击删除按钮->提供配置的详细信息远程:“起源”,URL:“”在这个设置页面。>然后点击“添加新的/保存”按钮->点击确定。

经过上述更改,我能够成功地拉/取我想要的分支。

只需删除\.git\refs\remotes\origin下的文件夹和文件。 工作,当你没有未推送的更改。

清晰的步骤

在终端 cd / . / /遥控器/参考文献来源 做ls,你会看到一些树枝和头部 移除你认为有问题的分支 rm branchname 如果它不起作用,删除所有分支/HEAD 你可能想拉一把

希望它现在有用。

我也遇到了同样的问题,我只是删除了远程分支,并从master中创建了新的分支,并将我从旧功能分支到新功能分支的更改合并在一起。现在我尝试了拉和推的要求,它为我工作

依次使用下面两个命令。

git gc --prune=now

git remote prune origin

这将解决你的问题。