来自上一次提交的Git推送

来自上一次提交的Git推送,git,push,git-branch,Git,Push,Git Branch,我在一个分支中有几次提交,但我注意到出现了一些错误,所以我将签出返回到以前的提交,并进行了一些更改,现在一切正常 但问题是我不能推,因为git希望我先拉,但我不想,因为它会合并,我不想 我只希望我当前的本地提交是第一次或最新的提交 这怎么可能呢?只要把@quetzalcatl的评论变成一个答案 git push --force …将远程中分支的头移动到当前提交,即使该提交在远程头当前指向的位置之前 这适用于撤消最近的提交,即使在推送它之后也是如此。使用重置软件将当前磁头向后移动,然后使用推力将

我在一个分支中有几次提交,但我注意到出现了一些错误,所以我将签出返回到以前的提交,并进行了一些更改,现在一切正常

但问题是我不能推,因为git希望我先拉,但我不想,因为它会合并,我不想

我只希望我当前的本地提交是第一次或最新的提交


这怎么可能呢?

只要把@quetzalcatl的评论变成一个答案

git push --force
…将远程中分支的头移动到当前提交,即使该提交在远程头当前指向的位置之前


这适用于撤消最近的提交,即使在推送它之后也是如此。使用重置软件将当前磁头向后移动,然后使用推力将磁头更新到远程

为什么你不能拉,当你与拉合并时,选择你自己的更改?你已经推送了不正确的提交吗?是的,我已经推送了不正确的提交。你需要使用强制推送选项,但是,在这个项目上工作的其他人可能会对你生气,或者你可以在错误的提交上添加一个额外的撤消提交。检查坏代码,在其上应用撤销/否定/回滚补丁,然后您将能够推送它,坏代码将从远程恢复中消失,然后进行更正并将其重新设置到当前头部。结果将是:删除错误代码,应用补丁。至于~蒸发-不,实际上不会。历史会知道你推了坏代码,然后又把它删除了。但是,如果你不知道我在说什么,请等到有人给你写了一篇更长、更详细的演练,或者至少给你指出了一些关于这方面的文章。如果你在我上面提到的任何一个步骤上失败了,你可能会把事情搞砸。当然,几乎没有什么东西是不能修复的,但是如果你把事情搞砸了,需要更多的神秘知识来修复,之后可能会给你留下非常糟糕的印象。不必要的是,如果有这样一个词:git push-f origin