我们在使用
git
管理
代码
时通常要
提交
和拉取
代码
,但是某些时候存在误操作的行为。例如
代码
还没
提交
就做了checkout、push动作,导致写了
几天
的
代码
没有
备份就丢失或者被覆盖了。
恢复
前
提
在执行
git
checkout master或者
git
push命令
前
,执行过commit命令
git
commit -m "xxx",
git
工具才能给你记录你的版本变化(本地的),否则丢失
代码
可能无可挽救。
(1)
查看
历史本地
git
版本:
git
reflog。运行结果如下图所示,现在需要回滚到ch
git
未
提交
的
代码
丢失(uncommit)一般分为两种,一种是存在于
git
暂存区,另一种不在暂存区。当本地
未
commit且
git
pull下拉远程
代码
时,远程
代码
将本体覆盖,引起
代码
丢失。
但今天遇到一个问题,我本地在一个文件里面写了很多
代码
,写完了测试通过了正准备
提交
, 更新了远程
代码
, 很不巧远程上这个文件刚好被删除了, 更新的时候也提示了这个文件的路径找不到,点击了取消想暂时不更新远程了,结果还是如预料的一样本地这个文件没了。另外,在一直没
提交
的情况下, 当我们发现自己写的东西还
没有
之
前
写的好,又想回到最开始的写的内容,也可以用这个功能,在历史记录中找修改时间点相近的版本,在
查看
右边的内容比对,确认是最开始写的内容就选中这个历史版本进行回退,回到最初始的状态。
转载请标明出处:https://blog.csdn.net/men_ma/article/details/106847165.
本文出自 不怕报错 就怕不报错的小猿猿 的博客
git
lab
代码
丢失,如何
找回
未
提交
过的
代码
,踩坑日记
前
言事出原因原因(小结)如何
找回
Git
丢失的
代码
?第一步:打开项目所在的文件位置找到.
git
文件夹(如图)(单个文件示例)第二步:打开.
git
文件夹,进入到/object目录下最终恢复
代码
流程将.
git
文件打个压缩包打开压缩包(WinRAR)打开命令执行窗口
按理说如果执行
Git
Pull时本地有
没有
Commit的
代码
应该会有提示要先Commit的,但有时候脑子抽风一顿操作后才后知后觉本地
代码
被覆盖导致丢失了,这时候可以尝试以下办法
找回
丢失的
代码
。
今天分享一个知识:最近在完成一个小组项目,因为在更新项目之
前
,
没有
提交
自己的
代码
,导致自己写的
代码
全都丢失了,幸好发现了这个方法,不然一下午的功夫都白费了。1. 首先在自己的项目上右键找到。2. 找到自己需要恢复的项目文件,右键 Revert。
这将取消您可能已暂存的所有文件
git
add:
git
reset
这将还原所有本地
未
提交
的更改(应在repo root中执行):
git
checkout . 您还可以仅将
未
提交
的更改还原到特定文件或目录:
git
checkout [some_dir|file.txt] 还原所有
未
提交
更改的另一种方法(更长时间键入,但可以从任何子目录工作):
git
reset --hard HEAD
这将删除所有本地
未
跟踪文件,因此只保留
git
跟踪文件:
git
clean -fdx 警告: -x 还将
在选定
提交
之后所做的更改将被保留,但不会暂存以进行
提交
,commit的内容都会保留,新增文件在工作区,文件变更在暂存区。在选定
提交
之后所做的所有更改都会被丢弃(暂存和已
提交
),commit的内容+暂存区的内容全部被丢弃。在选定
提交
后做的所有更改都在暂存区,commit的内容都会保留,其新增文件+文件变更都在暂存区。在选定
提交
之后的已commit内容将被丢弃,但
未
commit的部分将保留。keep回退 是回滚commit的变更保留本地的更改。mlxed回退 新增文件在工作区中,更改的在暂存区。