2017-10-13T13:07:44Z||2017-10-13T13:07:44Z


由于commit错了一个提交,所以需要强行推送新的:

git push origin master -f

结果提示:

Everything up-to-date

然后什么也没有做。

首先确认,当前分支是完整的分支而不是detached head。如果没有分支,可以运行:

git checkout -b master

创建一个新的分支。

其次确认代码已经在本地提交。

最后,确保错误的分支已经删除,现在的分支名字和origin远端的保持一致。这个听起来很奇怪,但确实会出现这样的问题。比如我本地有两个分支,master是之前需要被覆盖的分支,而new是新建的正确的分支,然后我强行把new这个分支推到远端的master分支:

git push origin master -f

结果提示:

Everything up-to-date

然后我删除掉笨的的原来的master分支,然后把正确的new分支重命名到master分支,再次运行上述命令,推送成功了!