git常见撤销操作

git reset可以说是一个很好的后悔药,我们在commit之后往往会突然发现这不是我想要的,以下例子很好的解释了reset的三个参数的用法和意义

 

git reset 

在上述中hard soft mixed的参数我们可以新建例子看看

touch a && git add a && git commit -m '新建a'

touch b && git add b && git commit -m '新建b'

touch c && git add c && git commit -m '新建c'

1、使用hard参数回退到a的提交

git reset --hard head~2

 

已经回退到a的提交,在执行git status看看

 

这时候我们再试试使用soft参数,依旧是上面的例子:

git reset --soft head~2

控制台没有任何输出信息,那就是好消息,我们看看

的确回退,在执行git status看看

 

发现是原来soft参数只是将commit撤销了,但是add还是会保存

 

最后看看mixed参数

 

在执行看看git status

 

于是我们可以总结git reset三个参数的含义:

hard是最危险的,会丢掉修改的文件,如果我们执行之后又后悔了可以使用时光机git reflog找回,当然还是要慎重

soft相对于hard而言,只是撤销了commit操作,保留了add操作

mixed参数则是撤销了commit和add操作,修改的·内容还是存在

 

当我们在开发时候,我们在feature开发时候,突然接受了一个紧急需求需要开发某个功能,于是我们新建分支featureb进行开发,很愉快的敲着代码并且commit,就在要push时候发现,我在feature进行开发那个新的紧急需求了,怎么办:

这里我们只是commit并没有push,那我们就可以使用上述的"后悔药"

-1、首先进行git reset --soft head~n(看你多少次commit)

-2、将撤销的代码stash起来,git stash

-3、git checkout  featureb

-4、git stash pop

上述就将开发的代码转移到featureb中了,接下来进行commit就行了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值