前言
在还是 git 新手时,经常会遇到一个比较尴尬的处境,git 仓库经常会被自己给玩坏了,虽然没到山穷水尽的地步,但也恨不得反手给自己一巴掌
冲动是魔鬼,我们还是要解决问题是吧~ 当然重置方法有很多了,而本文也将为你提供一个新的解题思路。
使用方法
认识 GIT DIFF
git diff
命令我们用得太多了,默认返回工作区和暂存区的文件详细差异。
什么叫详细差异?
工作区与暂存区的每一行数据变更都能够在这个命令中看到,多用于提交代码前的再次审阅,避免出错。
当然,git diff
不仅能提供工作区和暂存区的文件对比,可以说能提供任意文件差异,如下:
- git diff filepath 工作区与暂存区某文件对比
- git diff HEAD filepath 工作区与 HEAD(当前工作分支) 比较,HEAD 也可替换为任意一次 commitID
- git diff --staged 或 --cached filepath 暂存区与 HEAD 比较
- git diff branchName filepath 当前分支的文件与 branchName 分支的文件进行比较
- git diff commitId filepath 与某一次提交进行比较
- git diff commitID1 commitID2 两次 commit 提交间文件对比
然后就在想,若能根据这些信息恢复文件,岂不妙哉? 当然,我肯定不是第一个这么聪明的人,git 早就提