一、查看丢失记录

git fsck --lost-found

找回丢失的satsh记录,只有commit 才能够被恢复。

也可以执行git log命令找到commit id。

二、查看具体内容

git show commitId

三、找到commitId 进行git merge commitId 即可

四、git回滚文件场景总结

1、修改完还未git add:使用 git checkout 回滚

使用暂存区的文件覆盖工作区,所以执行完 git add . 之后,再执行该命令是无效的。 git checkout . 和 git add . 是一对反义词。

2、git add提交还未commit

使用 git add 提交到暂存区,还未 commit 之前,使用 git reset 和 git checkout 回滚:

git reset  # 先用 Head 指针覆盖当前的暂存区内容
git checkout . # 再用暂存区内容覆盖工作区内容

或者使用直接使用 head (在git中,用HEAD表示当前版本)覆盖当前暂存区和工作区。

# 恢复当前版本,删除工作区和缓存区的修改

git reset --hard

3、已经git commit还未git push

使用 git reset 回滚:覆盖本地仓库、暂存区和工作区

git reset --hard <last_commit_id>

4、已经git push

git reset --hard <commit_id>

强制提交当前版本号:git push origin <远端分支名称> --force

五、Git:git-reflog的用法

参考:Git:git-reflog的用法总结_IT老兵驿站的博客-CSDN博客_git reflog

git-reflog()是用来恢复本地错误操作很重要的一个命令,示例如下:

比如我们想恢复到某个版本,如下:

3aba2df HEAD@{4}: commit: tor-92 [Story] 性能测试服务化,服务号触发时支持locust压测地址替换

执行如下命令即可:

git reset --hard HEAD@{4}

参考:

git stash clear后,如何找回并恢复代码

commit的内容 还原git_工作中必备的git技能(上)_weixin_39673037的博客-CSDN博客

【git撤销操作】git reset详解_Chx.zhang的博客-CSDN博客_git 撤销reset

git恢复commit过的代码相关推荐

  1. git 回滚/撤回提交代码、误删、误提交恢复

    git回滚找回代码 上情况 情况1 git pull的时候发生冲突,修改失误,并commit了,怎么恢复? 查看所有的commit提交日志,并获取提交id git log commit 0992046 ...

  2. 文件在IDEA中已进行Git的Commit操作,使其从暂存区提交到本地仓库,但是未Push到远程仓库,此时进行Pull操作出现代码冲突

    问题描述:文件在IDEA中已进行Git的Commit操作,使其从暂存区提交到本地仓库,但是未Push到远程仓库,此时进行Pull操作出现代码冲突 解决方法:出现上述情况时,我们要先将文件从本地仓库中拉 ...

  3. Git 使用场景--恢复被覆盖的代码

    同事不小心在 uat 分支把我的代码覆盖了,我试着把我的 dev 分支重新合并到 uat,但是提示没有更改. 同事给我的方案是在我的 dev 分支删除我的代码,合并到 uat,然后在 dev 重新提交 ...

  4. git diff比较不同commit版本的代码文件异同

    git diff比较不同commit版本的代码文件异同 如图,假设像知道app目录下的build.gradle文件 在两次commit(fee9f9cf4b和cdd577e352)之间的异同和变化,可 ...

  5. 22-07-14 西安 Git 分布式版本控制系统 、代码管理

    Git是目前世界上最先进的分布式版本控制系统,Git可以做源代码管理 Git的诞生 Linus (Linus Torvalds 林纳斯.托瓦斯)是在BitKeeper停止向开源社区提供免费版本后开发了 ...

  6. git获取指定release版本代码

    首先手里必须有release的版本的备份出来的/.repo/manifests/default.xml文件,该文件记录了每个git库的在该版本下的具体的版本情况,整个代码的sync都是依据他来的: 1 ...

  7. Git入门最终集!SSH公钥是乱码怎么办?IDEA与Git!将自己的代码上传至远程仓库!

    Git入门最终集!SSH公钥是乱码怎么办?IDEA与Git!将自己的代码上传至远程仓库! 一.更改用户名和主机名! 因为当时Windows设置的用户名为中文名称,导致生成的SSH密钥是乱码非常难受,原 ...

  8. git 只commit不push 会有影响吗_规范化团队 git 提交信息

    规范化团队 git 提交信息 同一个工程项目,为了方便管理,git 的 commit 信息最好按照一定的格式规范,以便在需要的时候方便使用.什么是方便的时候,比如出现了一个线上 bug,所以需要回滚操 ...

  9. git 将dev分支的代码合并到master并添加对应的Tag

    1.参考文章如下: (1).https://www.cnblogs.com/zhangshijiezsj/p/14174896.html (2).https://blog.csdn.net/b7350 ...

最新文章

  1. 间谍新高度:航空航天探测器被当作间谍武器
  2. Winforn中怎样在窗体中打开另一个窗体
  3. 【论文解读】FcaNet:频率通道注意力网络论文解读
  4. vscode could not establish connection to linux The VS Code Server failed to start
  5. 【java】java AsyncHttpClient使用
  6. 如何使用 Windows 10 自带的磁盘清理程序?
  7. Android开发之隐示意图跳转
  8. 如何管理一盘散沙的团队?
  9. Elasticsearch(ES)入门,这一篇就够了
  10. 通常所说的微型计算机主机主要包括,通常所说的微型计算机的主机主要包括( )。...
  11. 盲盒小程序的开发功能介绍,优势有哪些
  12. Swift语言入门学习
  13. 微课竞赛系统的设计与实现所需工作条件_启升微课丨从软件设计开发着手准备医疗器械软件描述文档...
  14. 2018年回顾和收获
  15. 【华为OD机试真题 JS】德州扑克
  16. 动软代码生成器 第一次使用出现附加数据库错误是否添加写入权限
  17. 使用Opencv实现魔方识别(一):边缘及位置识别
  18. PYNQ Z2一:板子连接与测试
  19. 一个野蛮生长的程序员
  20. lsass.exe--系统错误 安全帐户管理初始化失败

热门文章

  1. ffmpeg将ogg和wav格式转化为mp3
  2. ae在哪里直接复制合成_如何在AE里复制一个层
  3. 一、ArcGIS Server篇:利用ArcGIS Server发布动态地图服务
  4. 利用ARCGIS和QGIS画等值线图
  5. java操作跨页的word cell_Java 操作Word表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行...
  6. 贵卅大学计算机研究生院导师,贵州大学机械工程学院研究生导师:罗绍华
  7. 状态码的含义,以及HTTP中常见的状态码
  8. Solidworks如何为装配体绘制剖面视图
  9. JavaScript随手笔记---保留小数位
  10. Android实现身份证识别