git 上传失败并把代码删除解决方案
今天上传代码时, 怎么都传不上, 600多个文件 突然一下子就把代码文件删完了, 回收站里没有,也不能回滚 , 整的我手足无措
解决方案
在.git/objects里有历史记录
cmd: git cat-file -p 文件夹+文件名
看一下文件是不是之前删除的
cmd: git cat-file -p 文件夹+文件名 > 目录+文件.txt
就可以下载之前提交的代码信息,缺点是文件名是乱码需要自己重新写
import os
import subprocess
# 定义 .git/objects 目录路径
git_objects_path = '.git/objects'
# 遍历 .git/objects 目录
for root, dirs, files in os.walk(git_objects_path):
for file in files:
# 忽略非哈希格式的文件
if len(file) != 38:
continue
# 组合哈希值
hash_value = os.path.basename(root) + file
output_path = f'/d/d/{hash_value}.txt'
# 执行 git cat-file -p 命令
command = f'git cat-file -p {hash_value} > {output_path}'
subprocess.run(command, shell=True)
print(f'Processed {hash_value} -> {output_path}')
QQ群: 929412850 (Byte.Core 框架交流群)
未经作者同意,禁止转发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?