今天上传代码时, 怎么都传不上, 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 框架交流群)
未经作者同意,禁止转发