先明确四种状态:
- state 1 (上一次提交)
- 本地文件编辑后进行保存【操作】
- state 2
- 本地文件保存后进行
git add
【操作】 - state 3
- 提交 commit【操作】
- state 4
- 对commit 进行 push【操作】
- state 5
第一步:先撤销本地修改
首先,push到远程的提交,肯定是已经在本地提交过的,因此先撤销本地分支。
撤销本地分支的三种命令:
git reset --soft head^
git reset head^
git reset --hard head^
git revert
–soft
软撤销:head^ 指当前的commit,也可以改成任何commit id。
软撤销会使代码的状态会回到 state3。
没有参数
没有参数的撤销会使代码的状态会回到 state2。
–hard
硬撤销会使代码的状态会回到 state1。
revert
不删除提交记录,而是产生一个新的记录来表示回溯。
这个貌似不会保留修改的代码,待研究。。。
第二步提交到远程
reset
git push origin <分支名>--force
revert
正常push就行
有一篇文章讲的更好:
https://www.cnblogs.com/aaronlinv/p/16454183.html
版权归原作者 swallowblank 所有, 如有侵权,请联系我们删除。