Git-如何回滚代码 revert和reset

1.git revert和git reset的区别

git revert 是撤销某次操作,此次操作之前或之后的commit都会被保留
git reset 是撤销某次提交,此次之后的修改都会被退回到暂存区

例子,有三个commit, git log:

commit3: #3  xxid_3
commit2: #2  xxid_2
commit1: #1  xxid_1

执行 git revert xxid_2之后:
commit2被撤销了,但是commit1和commit3还存在

执行 git reset --soft xxid_2之后:
commit3被撤销了,commit1和commit2还存在,commit3 出现在暂存区

执行 git reset --hard xxid_2之后:
commit3被撤销了,commit1和commit2还存在,commit3彻底消失

2.git reset –soft/–mixed/–hard

git reset -soft :取消了commit  
git reset -mixed(默认) :取消了commit ,取消了add
git reset -hard :取消了commit ,取消了add,取消源文件修改
git reset –hard HEAD~3   会将最新的3次提交全部重置,就像没有提交过一样。
git reset –hard commit_xxid  回退到 commit_xxid版本
git push origin HEAD --force  然后推送到远程仓库

3.将原来多次的git提交记录合并为一个

通过git reset –soft commit_xxid的方法,可以将原来多次的git提交记录合并为一个。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值