文章目录
表现
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
我没改。问题到这里已经解决了,就不改了。
总结
就这样吧,花了半天时间。
你猜我开不开心~