首页 > 其他分享 >git add后的代码丢失了怎么找回

git add后的代码丢失了怎么找回

时间:2023-10-27 22:24:06浏览次数:37  
标签:文件 git target 找回 add file path dir

打开项目所在文件夹,点击鼠标右键,选择Git Bash Here

 

1、首先执行下列命令,列出最近的150个改动文件,可以根据自己大概变动的文件数设置相应的值。

find .git/objects -type f | xargs ls -lt | sed 150q

 2、进入.git目录,如果没有该文件夹,执行如下操作

3、 在.git目录里分别新增两个文件

 

 

(1)新增一个存放所有git编号的文件【file.txt】(对应第一步查询出的)

 (2)只保留红框内的,需要去掉"/",最后效果如下

 (3)新增第2个文件【shell.sh】(恢复脚本)

 1 #!/bin/bash
 2 # 获取当前路径
 3 script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
 4 
 5 # 指定要读取的文件路径(待恢复的编号文件)
 6 file_path="$script_dir/file.txt"
 7 
 8 # 指定目标目录(恢复的文件放哪)
 9 target_dir="$script_dir/files"
10 
11 # 检查文件是否存在
12 if [[ ! -f "$file_path" ]]; then
13   echo "文件不存在: $file_path"
14   exit 1
15 fi
16 
17 if [[ ! -f "$target_dir" ]]; then
18   echo "文件目录不存在: $target_dir"
19   mkdir $target_dir
20 fi
21 
22 # 逐行读取文件内容并执行命令
23 while IFS= read -r line; do
24   cmd="git cat-file -p $line > ${target_dir}/${line}.txt"
25   echo "执行命令: $cmd"
26   eval $cmd
27 done < "$file_path"

4、最后在CMD窗口运行即可

 

 

 



标签:文件,git,target,找回,add,file,path,dir
From: https://www.cnblogs.com/icing857/p/17793248.html

相关文章

  • github安装文档
    服务器:centos7.91.下载指定版本到服务器wgethttps://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-16.0.0-ce.0.el7.x86_64.rpm2、安装基础依赖并启动#安装依赖,其中,postfix是邮件发送服务,其他为SSH协议需要的sudoyuminstall-ycurlpolicycoreutils-pythonopens......
  • 使用vscode 用git 拉取代码,提示:在签出前,请清理存储库工作树
    使用vscode用git拉取代码,提示:在签出前,请清理存储库工作树如图:问题:git仓库上的代码和本地代码存在冲突了所以会报这个报错。解决办法:手动解决①gitstash先将本地修改存储起来②gitpull拉取远程③gitstashpop还原暂存内容放弃本地修改,直接覆盖①gitreset--hard②g......
  • LeetCode 2: Add Two Numbers
    https://leetcode.cn/problems/add-two-numbers/description/FinallyIjoinedaforeigncompany'sChinabranchtolearnEnglishandstartanewjourney.PS:FromnowformeseemsMoreleisurely,elegant,high-tech,andalittlewise(inleadership)compa......
  • github官网打不开或访问慢的解决办法
    1)获取github官网ip方法就是打开cmd,然后pinggithub.com2)配置hosts文件,绕过DNS解析接下来,我们只需要打开电脑C:\Windows\System32\drivers\etc下的hosts文件编辑(需要管理员权限,右键,管理员权限打开),新增如下一行配置: 复制代码20.205.243.166github.com注意ip和域名之间......
  • paddleDection安装使用
    1,安装环境首先要安装paddlepaddle:安装方式的链接,各种显卡驱动,cuda和cudnn不多说比较基础我本身是在虚拟环境里安装的,所以虚拟环境安装也不影响它调用显卡资源查看paddle是否安装成功:>>>importpaddle>>>paddle.utils.run_check()安装paddleDection:gitclonehttps://g......
  • Git之实战命令
    相关概念: HEAD:说简单一点,HEAD就是当前活跃分支的游标。形象的记忆就是:你现在在哪儿,HEAD就指向哪儿,所以Git才知道你在那儿!不过HEAD并非只能指向分支的最顶端(时间节点距今最近的那个),实际上它可以指向任何一个节点,它就是Git内部用来追踪当前位置的东东。2.HEAD和head你可以认为......
  • "git add -A" 和 "git add ." 的区别
    内容来自DOC[https://q.houxu6.top/?s="gitadd-A"和"gitadd."的区别](https://q.houxu6.top/?s="gitadd-A"和"gitadd."的区别)"gitadd[--all|-A]"和"gitadd."的区别这个答案只适用于Git1.x版本。对于Git2.x版本......
  • GitHub 快速入门
    GitHub的介绍GitHub是一个在线平台,旨在促进在一个共同项目上工作的个人之间的代码托管、版本控制和协作。通过该平台,无论何时何地,都可以对项目进行操作(托管和审查代码,管理项目和与世界各地的其他开发者共同开发软件)。GitHub平台为开源项目和私人项目都提供了项目处理功能。关......
  • 2023-10-26 hexo部署到GitHub时css样式不生效 ==》 css文件链接被识别为不安全链接,导
    hexod一键部署后查看效果发现博客页面的样式全丢失了,查看控制台发现了端倪:MixedContent:Thepageat'https://xxx.github.io/'wasloadedoverHTTPS,butrequestedaninsecurestylesheet'http://xxx.com/lib/font-awesome/css/font-awesome.min.css?v=4.6.2'.Thisre......
  • gitee 上传提示文件过大的暴力解决方法
    因为经常遇到上传文件过大,每次都是重新拉在复制过去,今天无聊就想彻底解决一下这个问题。 Gitee的免费版本只能上传单个文件小于100M利用红色框的命令行查找出是哪个文件,下面红色文字是我查找的文件,然后执行下面命令行,即可上传成功。gitfilter-branch--force--index-filte......