git推送错误:当前分支落后于远程分支

git推送错误:当前分支落后于远程分支,git,Git,我在系统中创建了一些文件,提交并将其推送到远程存储库。之后,我不得不使用git reset HEAD~1命令删除该提交 现在我修改了先前创建的文件,并再次提交了代码。现在,当我尝试推送代码时,它失败地说: 更新被拒绝,因为当前分支的尖端位于远程分支的后面。请在再次推送之前合并远程更改,例如“git pull” 但是合并必须通过查看我想要保留/拒绝的内容手动完成,我不想这样做 我尝试在推送时使用-force选项,但也出现了错误: To prevent you from losing history

我在系统中创建了一些文件,提交并将其推送到远程存储库。之后,我不得不使用git reset HEAD~1命令删除该提交

现在我修改了先前创建的文件,并再次提交了代码。现在,当我尝试推送代码时,它失败地说:

更新被拒绝,因为当前分支的尖端位于远程分支的后面。请在再次推送之前合并远程更改,例如“git pull”

但是合并必须通过查看我想要保留/拒绝的内容手动完成,我不想这样做

我尝试在推送时使用-force选项,但也出现了错误:

To prevent you from losing history, non-fast-forward updates were rejected.

由于没有人在使用远程存储库中的代码,我只想覆盖远程存储库中的文件。有没有办法做到这一点?

我不确定您的问题是什么,尽管这是如何合并两个提交或删除其中一个

不建议重写历史记录,因为其他已经完成您提交的人在您下一次提交时会遇到问题

如果仍要删除上次推送的提交,则必须:

git rebase-我的头^^

您将看到最后两个提交,如:

pick 3df324 Add README.md
pick 3245cf bump version
合并两个提交:

通气版本是最后一次提交。将拾取更改为挤压,然后保存并退出文件。您将看到另一个文件打开,您必须保留要使用的文本。下一步是ahed和git push-f

删除提交:

如果要删除提交,只需删除它并保存并退出文件即可


您可以查看更多信息。

最好使用git pull,然后解决冲突。这不需要太多的手工工作,因为当git与这部分代码发生冲突时,您需要签出到远程分支并获取更改。因此,请尝试git fetch git pull,然后推送到远程分支。由于服务器已禁用非快进更新,这意味着您不应更改历史记录。因此,您可以在上次提交时执行git还原,而不是执行git reset HEAD~1。