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

发布时间 2023-10-27 22:11:19作者: 爱搬运的爪洼农民工

打开项目所在文件夹,点击鼠标右键,选择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窗口运行即可