git checout 失误后回溯

一天代码写完一定要走 git add git commit

有时候失误 git checkout xxx 源文件丢失怎么办??

理解:当前完成品代码 切换到上个版本了,完成品代码的信息不在git log内。

cpp 复制代码
查看所有分支的提交历史,包括已经被删除的提交记录。
git reflog 

0663723 (HEAD, origin/master, master) HEAD@{0}: checkout: moving from master to 0663723
0663723 (HEAD, origin/master, master) HEAD@{1}: checkout: moving from b895ee45673f5e4e4d6a778253cd736a43f67d51 to master
b895ee4 HEAD@{2}: commit: 界面美化   **成品代码文件 丢失的文件
0663723 (HEAD, origin/master, master) HEAD@{3}: checkout: moving from master to 0663723fb8293852d83dfe56173d37d555eaaf7b
0663723 (HEAD, origin/master, master) HEAD@{4}: commit: 完善界面 增加日志
3780ba2 HEAD@{5}: commit: 基本界面完成
7751245 HEAD@{6}: commit: 基本界面v2.0 基本排版
6bf13dd HEAD@{7}: commit: 基本界面
539d8e6 HEAD@{8}: commit (initial): 登录模块

git show hash 查看修改文件的记录 确定到完成品代码

找到了后比如 b895ee4 
git checkout b895ee4   //这就回到了完成品代码

git checkout master       //但是主分支不是b895ee4 使用切回去 然后再重新设置。
git reset --hard b895ee4 
git push --force origin master   //推送给远端

总结:主要还是记录一下git方法,由于是新手,有时候不知不觉的就把成品代码文件回溯到之前版本。导致一周工作量白费

相关推荐
挖掘狂人21 小时前
Git 从 0 到 1:用一个小项目走完 add / commit / reset / merge / rebase / push
git·后端·github
codigger1 天前
Git 三区域模型:把 add、commit、reset、merge 一次讲透
git·github·编程·编程语言
水饺编程1 天前
第1章:开发环境搭建,在 Windows 中安装 Git
linux·c语言·汇编·git·ubuntu
idanzk1 天前
Git 推送 GitHub 报 SSL_READ /src refspec main 不匹配 完整踩坑记录
git·github·ssl
星恒随风1 天前
Linux开发工具详解(二):Git版本控制、GitHub协作与GDB调试实战
linux·笔记·git·学习·github
寺中人2 天前
Xshell 完全入门指南:从安装到实战,远程连接+文件传输+会话管理全拆解
git·ssh·github·php·远程连接·xshell·运维工具
酬谢神明则必安2 天前
git学习记录01
linux·git·学习
lingchen19062 天前
版本控制 Git源代码项目管理
git
虫无涯2 天前
Coverity 如何结合 GJB8114-2013使用?
git·单元测试·嵌入式测试·coverity·静态扫描
喵本喵叁肆2 天前
Git 深度解读:从对象模型到分支指针,把版本控制的内核讲透
git