在屯了一周的代码后,我准备提交代码了…
在上周的任务完成过程中,因为一个树结构的数据,后台返回的数据我未能成功处理成四级的嵌套父子结构,请同事帮忙看了下代码,告诉了他我的代码文件所在位置,结果就是,他改了我的代码,并且提交了…
不意外的是,在我这次拉取代码时,成功的冲突了…
遇到如上问题,并采取了上方大哥的方法二,过于愚蠢的我…
命令行git reset --hard
冲突成功解决了
我add . commit 暂存区所有的代码成功丢失,是的,是我一周的开发工作...
开始了一道选择题(A.尝试找回; B.重写代码)
结果,代码找回了,但是,代码中所有出现中文的地方,都变成了乱码,最后,手动逐一修改
此时对于 git reset --hard的理解:
放弃暂存区所有代码(自然没有冲突了),回退上一版本,该命令行执行结束后,本地暂存代码会被覆盖
尝试找回:
我还很清醒地记得,在提交代码之前,我不仅add,也commit过,但是,执行git reflog,是的,是的,是的,就是没有我五分钟前提交的代码,所以,我,commit 就是失败的
然后去往项目找到a.md
会看到:
040000 tree ddc4c544f4b11cae37a732656477d7adb4ca55c2 components
100644 blob c2647fa0d4adae8f25f28159f3777423d6b84337 index.vue
也可以直接输入命令 :(后面一串是上图红色画线部分)
我们要关注的是,blob 还是 tree文件类型,三种文件结构,commit包含tree,tree包含blob
输入如上命令,会直接出现你blob文件下的代码,但是,所有中文输出不意外的都乱码了…
commit失败的原因:(要不是日志打印不出来,我都不知道我commit失败了,我咋知道失败原因)
【部分截图原文地址: https://blog.csdn.net/jianxin1021/article/details/104901382 】
|