《Pro Git》基础(三)-时光机篇:代码翻车不要慌,Git撤回大法保平安

同学同学,你是否经历过以下绝望瞬间?  

  • 手滑删了写了一天的代码 
  • 提交了包含“老板看了会沉默”的调试日志 
  • 把测试分支代码合并到生产环境 

不着急不着急,Git的“时光机”功能,专治各种手残和脑抽的  
今天我们就来学习《Pro Git》中的终极保命技能——回退与撤销  


1. 工作区翻车:代码改崩了?一键还原!


场景:你疯狂码了200行代码,结果跑起来全是BUG,比蜘蛛网还乱。  

救命指令:  

git checkout -- 文件名  

效果:将文件恢复到最近一次"git commit"或"git add"时的状态。  

 


2. 暂存区翻车:不小心"git add"了不该提交的文件


场景:你本想提交代码,结果把“老板压榨十大罪行”文件夹也"git add ."了。 (那太有生活了) 

救命指令:  

git reset HEAD 文件名    # 把文件踢出暂存区  
git checkout -- 文件名  # 再一键还原文件内容 

效果:文件从暂存区退回工作区,并恢复原状。  


3. 提交翻车:错误代码已经commit了!


情况1:想撤回最后一次提交
救命指令:  

git reset --soft HEAD~1   # 撤回提交但保留修改(优雅版)  
git reset --hard HEAD~1   # 撤回提交并删除修改(狂暴版)  

"--soft":像偷偷擦掉黑板上的字,老师以为你从没写过。  
"--hard":直接抡起板擦砸穿黑板:“这代码根本不存在!”  

情况2:想撤回某次历史提交
场景:三天前的某个提交引入了致命BUG,但后面又提交了新功能。  

救命指令:  

git revert 提交的哈希值  

效果:生成一个“反向提交”,抵消之前的修改,保留后续提交。  


4. 究极翻车:代码已推送到远程仓库!
场景:你"git push"了包含银行卡密码的配置文件,同事已经在围观。  

救命指令:  
1. 本地先用"git reset"回退到正确版本  
2. 强制推送到远程:  

git push --force  


5. 高级技巧:Git的后悔药仓库


不想用命令?试试这些操作:  
"git reflog":查看所有操作记录,连撤回的提交都能找到!  
"git stash":临时保存未提交的代码,切换分支不丢数据!  


总结:Git撤回的奥义  
记住三条保命法则:  

  • 勤提交(多commit,小步快跑)  
  • 写备注(message写清楚,方便定位问题)  
  • 慎用force(团队协作时,revert比reset更安全)  

Git祖师爷名言:  
“撤销不是懦弱,而是战略撤退!
——某个被"rm -rf"删库后连夜跑路的程序员  


明天咱们将学习:  
《Pro Git》 2.5基础-远程仓库的使用

关注主播,让完蛋成为习惯~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值