完整的信息:

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 branch --unset-upstream

其他回答

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

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

我尝试了多种选择,但没有一个对我有效。下面的命令对我很有用。把它放在这里,如果它能帮助人们,以防其他选择不起作用。

Git拉-p

-p --prune Before fetching, remove any remote-tracking references that no longer exist on the remote. Tags are not subject to pruning if they are fetched only because of the default tag auto-following or due to a --tags option. However, if tags are fetched due to an explicit refspec (either on the command line or in the remote configuration, for example if the remote was cloned with the --mirror option), then they are also subject to pruning. Supplying --prune-tags is a shorthand for providing the tag refspec.

——来源:https://git-scm.com/docs/git-pull文档/ git-pull.txt——p

硬重启也会解决这个问题

git reset --hard origin/master

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

试试这个,对我很管用。 在您的终端:git远程修剪原点。