如何回滚已经commit的代码(Android Studio)


01

 

项目开发中,时常会遇到这样一种情况,代码已经commit(非push)上去了,但此时发现有误,不想提交了,如何回滚?

 

这点对于新手git的开发者还是比较陌生的。

 

今天和大家分享这个知识点,如果你对git用法很熟练,请跳过。

 

首先我们来看还没有commit任何代码的push界面:

 640?wx_fmt=jpeg

然后我们随便修改一份文件,我这里修改MainActivity.java的内容,且执行了commit操作:

 

640?wx_fmt=png

如果这时候我们发现刚才commit的有误,不想提交了,想对其进行回滚,如何进行revert commit了。


通过选中工程(或是直接选择MainActivity.java文件),点击右键,在弹出的列表中选择Git-->Repository-->Reset HEAD

 640?wx_fmt=png

 

其中

Git Root:表示要revert的目录

Current Branch:当前分支branch

Reset Type:

Soft:选择这个模式意思是仅仅撤销commit而已,不影响本地的任何文件,也不影响(index)缓存区的任何文件。

Hard:不仅撤销commit的内容,还将本地的文件指向commit前的版本,同时index也会指向commit前的版本。

Mixed:回滚index,其余的保持不变。

 

如果把HEAD后面加个“~1”,这里的数字代表次数,比如commit了三次,  1,就是回滚最后一次提交的,2,就是后两次提交的一起回滚了。

 

官方文档是这样描述的:Resets the index but not the working tree (i.e., the changed files are preserved but not marked for commit) and reports what has not been updated. This is the default action.

 

Validate:当前会影响到的文件有哪些,具体是什么。

当我们执行下soft模式的,执行完成后,看下图,刚才我们commit的记录已经没有了:

 

640?wx_fmt=jpeg


如果你不喜欢可视化的,习惯用命令行处理,命令行实现也是一样的:

 git reset [--soft | --mixed [-N] | --hard] HEAD~X   


其中X:代表次数。


 希望对你学习有所帮助

【END】


往期精选推荐


感谢生命里那位从不轻易放弃的自己


月薪3000,请不要跟我谈狼性文化,谈情怀


这座城市很炎热,孤单的人总是晚回家



640?wx_fmt=jpeg

分享职场生活、职场攻略、领导同事相处技巧和创业资源

更多精彩内容,请长按识别关注

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值