Git如何回滚远端?

我本地的提交记录是A——B——C,我推送了,发现B里有错误,本地退回到A,再重新提交A——D,请问此时推送会覆盖掉BC吗
或者有什么更好的办法呢

个人觉得这样操作没什么问题,不过push之前先pull避免有其他冲突。

你此时会退到A在进行提交,不是会覆盖到 B、C,而是会作为git分支的下一步,
但结果跟你想要的结果一样,提交之后git的远端代码现在就是你记录为A时候的代码,只不过A->B->C->A前边的操作记录都会记录下来。
这可能是最容易理解的办法,相当于又提交了一次代码,只不过代码刚好跟A时候的代码一样。


如果想要其他解决方法:
git reset
git revert可能会帮助到你
具体步骤参考下边链接:

会覆盖BC,不过如果BC步骤的操作和此次提交的代码有不一致的地方,会提示代码冲突,无法提交

回退之后重新提交,他可能会有冲突覆盖,你直接解决冲突就行了。可以替换。

使用git reset回退到A之后,再push的时候需要加--force,这样别人pull下来的只能看到A--D

如有帮助,请采纳,十分感谢!

没必要回滚,你将远程的分支拉下来,修改回去也是一样的,你每次提交都有具体的提交修改记录,根据远程的提交记录进行修改即可,修改好了再次上传

会覆盖