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 框架交流群)
未经作者同意,禁止转发

posted @ 2024-08-03 14:12  筑基期  阅读(36)  评论(0编辑  收藏  举报