git 无法在一个项目上拉取或获取代码,但在其他项目上工作正常
git Unable to pull or fetch code on one project but works fine on other project
我无法在我的某个项目中提取或获取代码。
发出的命令:
$ git pull origin master
错误信息:
fatal: internal server error
remote: internal server error
fatal: protocol error: bad pack header
尽管如此,我能够在同一个项目上拉补丁并在其他项目上拉取原始主机。
在哪里可以看到更详细的日志?我该如何解决这个问题?
[编辑]
git fsck 输出:
Checking object directories: 100% (256/256), done.
Checking objects: 100% (5155/5155), done.
dangling blob 788d9159c3698bfcc753969387873989ac68d22f
dangling blob d554a3844da9322ad6e0789dbec37d7679e9868c
dangling blob e5d5dd07a27033814fb35be2ee28f38fdc13baca
dangling blob 2116ab3d9b64d5d609b8ccc309970aeecb9bed2f
dangling blob 07182a7ec9d47649f46a53c0d356c1b099086ed2
dangling blob 7358ba2f4a5577183450c36491cf0a8221d4fdf1
dangling blob 0f9d09248f5694d94d726b77c43bca5fa599ce99
dangling blob eab7222fdb583fd3b80f693fb7422bfba7360644
dangling blob c9384efaec1e9cd42e352de79c413140b90037de
dangling blob 03bd2e76f8a30936d14af97039e2feb4110c87ac
配置文件:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = ssh://<userId>@review.quicinc.com:29418/<projectName>
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
出现此错误是因为您 运行 服务器内存不足。可能是因为大文件或虚拟限制。
试试这个命令,然后再试一次。这是 reference.
git config --global pack.windowMemory "100m"
git config --global pack.packSizeLimit "100m"
git config --global pack.threads "1"
我可以看到悬垂的斑点,但应该没问题。可能是 Repo 损坏了,您可以尝试修复它以防出现问题。保留配置文件的备份,
$ cd project
$ cp .git/config .git/config.backup
$ git remote remove origin
以上步骤只是为了再次重新链接您的存储库。
$ mv .git/config.backup .git/config
现在重新获取所有内容,这里不要使用pull
$ git fetch
现在执行
$ git pull origin master
问题现已解决。
松散的对象修剪导致问题并导致存储库损坏。
问题已通过将 HEAD 的提示恢复为服务器上的先前 gerrit 来解决。
感谢大家的回复。
我无法在我的某个项目中提取或获取代码。
发出的命令:
$ git pull origin master
错误信息:
fatal: internal server error
remote: internal server error
fatal: protocol error: bad pack header
尽管如此,我能够在同一个项目上拉补丁并在其他项目上拉取原始主机。
在哪里可以看到更详细的日志?我该如何解决这个问题?
[编辑]
git fsck 输出:
Checking object directories: 100% (256/256), done.
Checking objects: 100% (5155/5155), done.
dangling blob 788d9159c3698bfcc753969387873989ac68d22f
dangling blob d554a3844da9322ad6e0789dbec37d7679e9868c
dangling blob e5d5dd07a27033814fb35be2ee28f38fdc13baca
dangling blob 2116ab3d9b64d5d609b8ccc309970aeecb9bed2f
dangling blob 07182a7ec9d47649f46a53c0d356c1b099086ed2
dangling blob 7358ba2f4a5577183450c36491cf0a8221d4fdf1
dangling blob 0f9d09248f5694d94d726b77c43bca5fa599ce99
dangling blob eab7222fdb583fd3b80f693fb7422bfba7360644
dangling blob c9384efaec1e9cd42e352de79c413140b90037de
dangling blob 03bd2e76f8a30936d14af97039e2feb4110c87ac
配置文件:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = ssh://<userId>@review.quicinc.com:29418/<projectName>
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
出现此错误是因为您 运行 服务器内存不足。可能是因为大文件或虚拟限制。
试试这个命令,然后再试一次。这是 reference.
git config --global pack.windowMemory "100m"
git config --global pack.packSizeLimit "100m"
git config --global pack.threads "1"
我可以看到悬垂的斑点,但应该没问题。可能是 Repo 损坏了,您可以尝试修复它以防出现问题。保留配置文件的备份,
$ cd project
$ cp .git/config .git/config.backup
$ git remote remove origin
以上步骤只是为了再次重新链接您的存储库。
$ mv .git/config.backup .git/config
现在重新获取所有内容,这里不要使用pull
$ git fetch
现在执行
$ git pull origin master
问题现已解决。
松散的对象修剪导致问题并导致存储库损坏。
问题已通过将 HEAD 的提示恢复为服务器上的先前 gerrit 来解决。
感谢大家的回复。