首页 > 其他分享 >git 上传失败并把代码删除解决方案

git 上传失败并把代码删除解决方案

时间:2024-08-03 14:18:26浏览次数:14  
标签:git hash 解决方案 cat objects file path 上传

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

标签:git,hash,解决方案,cat,objects,file,path,上传
From: https://www.cnblogs.com/wxhwpmdyz/p/18340415

相关文章

  • Jmeter(五十一)上传类接口测试
    人的一切痛苦,本质上都是对自己无能的愤怒                   ----《认知觉醒:开启自我改变的原动力》一、HTTP请求中勾选UseMultipart/form-data 二、传入其他参数于Parmameters 三、FilesUpload选项卡传入本地excel路径即可注:M......
  • Ubuntu 22.04 Git 代码维护
    1.国内git托管代1.1Gitee(码云):是一个由开源中国推出的代码托管平台,提供了类似于GitHub的功能,如代码管理、项目协作等。1.2Coding:由腾讯推出的一个开发者平台,提供Git代码托管、持续集成、项目管理等功能。1.3GitLabChina:这是GitLab在中国的本地化服务,提供Git......
  • gitee 教程学习
    参考:https://blog.csdn.net/qq_38403590/article/details/120907444https://www.liaoxuefeng.com/wiki/896043488029600/896067008724000GitCheatSheetshttps://training.github.com/downloads/github-git-cheat-sheet/training-manualhttps://githubtraining.github.i......
  • 我无法在 kaggle 中找到“帐户”选项卡..并且缺少创建 api 选项..有什么解决方案吗?
    我试图从kaggle访问Googlecolab中的数据集。但是我找不到帐户选项卡,因此我也无法在kaggle中创建api。我该怎么办?我希望在帐户选项卡中获得创建api选项。我尝试了很多视频,但没有人给出解决方案。是对的,Kaggle不再在“帐户”选项卡中提供API令牌的创建功能。......
  • Github 学生认证/ Copilot申请 (小白步骤)2024版
    1.完善个人信息1.1进入github官网https://github.com、按照下图的步骤、完善信息。1.2下面是具体的内容,只需要填写有箭头的部分内容就好,最后大家不要忘了点击保存。2.填加学校以.edu.com结尾的邮箱账号2.1添加后,你会在学校的企业微信上收到一条通知,按照信息提示......
  • 寻找PID系统优化参数问题的解决方案
    源代码:1nump=[4];2denp=[1684];3sysGp=tf(nump,denp);4den=[10];5t=0:0.01:8;6forK=3:0.2:57fora=0.1:0.1:38num=[K2*K*aK*a^2];9sysG=tf(num,den);10sysGz=feedback(series(sysG,sysGp),1);11sys......
  • github是什么?
    gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名gitHub。作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。如......
  • Linux安装git
    方式一:yum安装1、安装依赖yuminstallcurl-develexpat-devel2、安装git,默认安装路径/usr/bin/gityum-yinstallgit-core3、验证是否安装成功git-v或者git--version方式二:手动安装1、下载安装包,https://git-scm.com/download/linux2、安装依赖yuminstal......
  • git记住多个账号
    前言git每次推送都需要输入密码,或者两个不同账号间互顶。如何处理这些问题呢?两种途径:记住ssh协议公钥和记住多个密码。前者我一直不推荐,所以不提。git配置文件git全局的用户名、账号密码等所有的配置项,都在.gitconfig文件中,-Windows系统:C:\Users\用户名\.gitconfig-MacO......
  • 最大努力通知【分布式事务解决方案】
    优质博文:IT-BLOG-CN一、概述最大努力通知也是一种解决分布式事务的方案,下面是一个充值的例子:交互流程:【1】账户系统调用充值系统接口;【2】充值系统完成支付处理向账户系统发起充值结果通知,若通知失败,则充值系统按策略进行重复通知;【3】账户系统接收到充值结果通知修......