GIT的各种回退操作

写代码的时候往往需要回退,比如我操我写了一堆什么烂玩意,再比如,这功能加上还不如不加,这个时候你就会迫切需要把戴拿回退到你糟蹋它之前的状态。

git的回退操作包括好几种,

一种情况,你刚刚修改完代码,还没有急不可耐的运行git add,这个时候意识到你写的很垃圾(反应迅速且有自省能力),需要回退到之前,你只需要运行  

git checkout -- filename 

就可以将文件filename回退。它其实是从仓库里面把filename文件check下来覆盖本地工作区同名文件了。

 

另一种情况,你已经运行了git add,将文件提交到了暂存区,但是还没有commit,那你可以运行

git reset filename 

取消该文件的暂存,取消之后你再运行git checkout -- filename,回退到仓库版本即可。

 

或者直接运行

git reset --hard

这条指令是将所有暂存未提交的文件取消暂存,并且回退到仓库版本

相当于与运行了两条指令:

git reset *

git checkout -- *

 

 

注意,这条指令不仅会全部回退到仓库版本,还会删除你所有新创建的文件,其实就是完完全全的复刻了仓库版本。

如果你不希望删除新文件,可以运行

git reset  commit

其中commit是某个版本的长序号,可以通过

git log XXX 

查看这些长序号。

这是希望合并工作区与之前提交的版本。其中,新创建的文件不会删除,新做的修改不会回退。

 

如果你运行

git reset --hard commit

那么,新文件不会删除,但是新的修改是会被回退到仓库版本的。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值