先明确四种状态:
git add
【操作】首先,push到远程的提交,肯定是已经在本地提交过的,因此先撤销本地分支。
撤销本地分支的三种命令:
git reset --soft head^
git reset head^
git reset --hard head^
git revert
软撤销:head^ 指当前的commit,也可以改成任何commit id。
软撤销会使代码的状态会回到 state3。
没有参数的撤销会使代码的状态会回到 state2。
硬撤销会使代码的状态会回到 state1。
不删除提交记录,而是产生一个新的记录来表示回溯。
这个貌似不会保留修改的代码,待研究。。。
git push origin <分支名> --force
正常push就行
有一篇文章讲的更好:
https://www.cnblogs.com/aaronlinv/p/16454183.html