git报错invalid object xxx和unable to read tree xxxxxx

电脑出问题了,导致git仓库像是被损坏了一样,执行git status就会报错unable to read ree,无法正常提交代码至仓库,原因是本地代码仓库.git文件损坏了,无法找到正确的提交历史和路径。
找到了一个解决办法:

  1. 线上代码仓库所有代码合入,至最新状态(这一步很关键,不然复制了也对不上);
  2. 然后将线上代码库客隆下来,执行以下操作:
# 进入本地拉取的线上项目副本文件夹
cd copy/path/to/project
# 将副本文件夹中的.git文件复制到本地损坏了.git文件的项目文件夹中
cp -r .git path/to/local_modified_project/

利用线上仓库.git文件修复本地损坏的文件,再进行git status或者commit就正常了。
还有一个问题就是如果不小心在子文件夹下进行了git init命令,导致文件夹下文件的状态不对,但此时根目录下所有的文件状态已经通过上述步骤修复,原因是在子文件夹下执行init会新建一个子目录仓库,从而导致状态不一致,此时可以通过以下步骤修复:

# 进入子项目目录
cd sub_project
# 删除不小心新建的.git文件
rm .git

然后在配置中重新配置git至根目录路径即可:
在这里插入图片描述

  • 11
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当你在使用Git时,如果遇到SSL certificate problem: unable to get local issuer certificate的错误,这是因为当你通过HTTPS访问Git远程仓库时,服务器上的SSL证书未经过第三方机构认证。未经认证的证书可能存在安全风险,所以Git报错。 解决这个问题的办法是在Git中将sslverify关掉。你可以使用以下命令来配置Gitgit config --global http.sslverify false 这个命令会将Git中的sslverify设置为false,即关闭SSL证书的验证。请注意,关闭SSL证书验证可能会导致安全风险,请在安全的环境下使用这个命令。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【Git报错】SSL certificate problem: unable to get local issuer certificate](https://blog.csdn.net/SkipperKevin/article/details/126557268)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [git中的SSL certificate problem: unable to get local issuer certificate错误的解决办法](https://blog.csdn.net/qq_55125921/article/details/125220576)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值