Git的checkout, reset, revert

不管是修改还是新建文件,都必须通过git add把这次修改从工作区加到暂存区;
commit只是提交暂存区的修改,还没add到暂存区处于工作区的修改是不会commit的;
 
git checkout可以将工作区的文件用暂存区的文件去替换掉,用于没commit之前;
 
git reset —mixed可以将commit到本地仓库的修改记录回滚,并删掉暂存区的文件,但是工作区的修改还在,相当于只修改了文件,没有 add到暂存区,也没有commit到仓库,用于没push之前;
git reset —soft,只回滚记录,不删掉暂存区的文件;
git reset —hard,回滚记录,删除暂存,并删除本地修改,相当于全部回滚。
 
                    工作区—>暂存区—>本地仓库
hard               回滚         回滚         回滚
mixed             no            回滚         回滚
soft                 no             no           回滚
checkout        覆盖          no            no 
 
git revert用于把远程仓库覆盖本地仓库
 
reset会删掉之前的记录,revert保留记录,并生成依次新的commit;
 
revert只会revert针对当前一条记录重新做一次commit,并不会把这个记录之后提交的记录revert;
 
可以revert revert;
 
revert某条记录的时候,别人之后提交的记录不会丢,但是别人提交的代码可能被你这次revert给弄丢掉;
 
不要merge之后revert; 

转载于:https://www.cnblogs.com/mosthink/p/6042438.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值