打开项目所在文件夹,点击鼠标右键,选择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窗口运行即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构