git——如何撤销已经push到远程的修改

先明确四种状态:

  • 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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值