一个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

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

总结

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

你猜我开不开心~

相关推荐
夜鸣笙笙1 小时前
Git详细安装流程
git
瑞码空间14 小时前
git知识点黄金笔记
笔记·git·elasticsearch
----云烟----15 小时前
Git 提交忽略某些文件方法
git
切糕师学AI17 小时前
如何查看已合并到 master 分支的所有分支?Git 分支清理指南
大数据·git·elasticsearch
DevUp1 天前
一个管「引」,一个管「抄」:Submodule 和 Subtree 到底差在哪
git·前端工程化
lingran__1 天前
Git 完全指南(三):远程仓库与标签管理
开发语言·git·gitee·ssh·团队协作·远程仓库·分布式版本控制
lingran__2 天前
Git 完全指南(二):分支管理
git·分支管理·版本控制·团队协作·多人开发·git flow
必须会一定会2 天前
Agent Handoff v0.6.0 跨电脑同步:Git、EVENTS.jsonl、CONTEXT.md 使用方法
人工智能·git·ai编程
cui_hao_nan2 天前
Git常用命令1
运维·git
xxwl5852 天前
Git常用命令的学习
git·学习