一个git问题的处理

文章目录

表现

git clone 报错 ;

最后在chatgpt的帮助下艰难修复了。

起因:

周一凌晨3点多gitea报错,

周一上班之后git推送很慢。

然后后重启NAS;再然后就出现了不能clone的现象

环境

群晖 + docker + gitea(1.26.1)

流程

先找到 Gitea 容器

在群晖 SSH 中执行:

sh 复制代码
sudo docker ps | grep -i gitea

应该能看到类似:

log 复制代码
abc123456789   gitea/gitea:...   ...   gitea

最后一列通常就是容器名。

然后进入容器:

bash 复制代码
sudo docker exec -it gitea /bin/bash

进入之后执行

sh 复制代码
ls -ld /data/git

Gitea 版本

sh 复制代码
gitea --version
html 复制代码
gitea version 1.26.1 built with go1.26.2-X:jsonv2 : bindata, timetzdata, sqlite, sqlite_unlock_notify

sourcetree中报

log 复制代码
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch --prune --no-tags origin fatal: cannot exec '/data/git/repositories/XXXX/YYYYY.git/hooks/pre-applypatch.sample': No such file or directory fatal: git upload-pack: unable to fork git-pack-objects error: error: Failed to execute git command error: fetch-pack: unexpected disconnect while reading sideband packet fatal: protocol error: bad pack header
复制代码
/data/git/repositories/BayerGit/UI_Remake_drilling.git/hooks/pre-applypatch.sample

然后我经历了重建库、重新上传代码、拉取还是失败、

最后找到了

/data/gitea/home/.gitconfig

有问题:

vim 复制代码
[core]
        logallrefupdates = true
        quotePath = false
        commitGraph = true
[gc]
        reflogexpire = 90
        writeCommitGraph = true
[diff]
        algorithm = histogram
[user]
        name = Gitea
        email = gitea@fake.local
[receive]
        advertisePushOptions = true
        procReceiveRefs = refs/for
[fetch]
        writeCommitGraph = true
[safe]
        directory = *
[uploadpack]
        allowfilter = true
        allowAnySHA1InWant = true

[uploadpack]
        packObjectsHook = /data/git/repositories/XXXX/YYYYYY.git/hooks/pre-applypatch.sample
# router: completed POST /api/internal/manager/add-logger for 172.18.0.1:46466, 200 OK in 0.5ms @ private/manager.go:104(private.AddLogger)

[uploadpack]
        packObjectsHook = /data/git/repositories/XXXX/YYYYYY.git/hooks/pre-applypatch.sample
# router: completed GET /api/internal/serv/command/5/BayerGit/UI_Remake_drilling?mode=1&verb=git-upload-pack for 172.18.0.1:0, 200 OK in 1.4ms @ private/serv.go:79(private.ServCommand)

我把 packObjectsHook = 这两行删掉就好了

后来我又问了豆包,豆包让后把那一行改成

sh 复制代码
[pack]
    packObjectsHook = /usr/local/bin/gitea serv pack-objects-hook

我没改。问题到这里已经解决了,就不改了。

总结

就这样吧,花了半天时间。

你猜我开不开心~

相关推荐
Winlifes3 天前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git
郑州光合科技余经理4 天前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
我命由我123454 天前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
Lcr3s4 天前
Git基础之(0):如何在Ubuntu(Linux)上安装git
git
玄芯散人5 天前
【筑基·058】Git协作工作流:冲突解决和PR流程
git·版本控制·团队协作
寺中人5 天前
Git 版本控制完全入门指南:从安装到实战,提交 + 分支 + 协作 + 冲突解决全拆解
git·开发工具·版本控制·团队协作·代码管理
荔枝梅梅5 天前
新手程序员 SSH 第一课:从 Git 仓库连接失败理解 SSH 协议与密钥配置
git
玄芯散人5 天前
【筑基·057】Git代码时光机:版本控制入门到分支管理
git·版本控制·嵌入式开发
szephyr5 天前
Git 分支管理实战:feature/release/hotfix 怎么用才不乱
git·分支管理·团队协作·工作流·hotfix
一木 之林5 天前
手搓家庭服务器:二手装机、Docker部署、端口映射与frp内网穿透
服务器·人工智能·git·编辑器