gpt4 book ai didi

Git:远程拒绝,无法将对象迁移到永久存储

转载 作者:行者123 更新时间:2023-12-05 01:43:20 25 4
gpt4 key购买 nike

git -c diff.mnemonicprefix=false -c core.quotepath=false push -v origin 
feature/xxx:feature/xxx
POST git-receive-pack (3470 bytes)
Pushing to http://xxx@stash/xxx.git
To http://stash/xxx.git
! [remote rejected] feature/xxx -> feature/xxx (unable to migrate objects
to permanent storage)
error: failed to push some refs to
'http://xxx@stash/xxx.git'


Completed with errors, see above.

有人可以解释如何解决此错误吗?我已经看过其他一些类似的问题,但我找不到任何有助于解决此推送被拒绝的原因 - 我实际上是在半小时前更新了分支并想推送一个我忘记包含的新文件在最初的 push 下。我尝试更新 dev 然后切换回我正在处理的功能分支,因为一些评论表明 git 尝试更新其他本地分支和远程分支之间的差异,但这没有做任何事情 - 我得到完全相同的错误消息如前。

最佳答案

无法将对象迁移到永久存储 通常是服务器配置错误的结果。在任何情况下,很可能您自己做的任何事情都不会改善结果。

当服务器接收到 git push 时,接收方 Git 从发送方获取一系列 Git 对象——提交、树、blob 和/或标签,所有这些构成执行 git push 的人发送的内容。然后发送者发送一个请求:*我希望你,接收者,用一些特定的分支和/或标签名称​​命名这些对象,以便它们可以访问。*

在 2.11.0 之前的 Git 版本中,对象 会立即进入接收者的对象数据库。然后接收方将检查建议的名称创建或更新(例如,feature/xxx 应指向对象 1234567...),验证它是否正常,然后执行更新并回复OK,完成或拒绝带有特定错误的更新,例如“不快进”。

在 Git 版本 2.11.0 中,流程发生了变化:传入的对象被放置在“隔离区”中,直到名称更新被接受。一旦接收方验证更新 feature/xxx 正常,接收方必须将对象从隔离区移动到对象数据库中。移动成功并完成更新后,您会收到服务器的OK,完成回复。

正是这种从存储库内的隔离区到存储库对象数据库的移动失败了。换句话说,您的推送请求没有问题。相反,服务器会说:我会按照你的要求去做,但我摔倒了,无法修复自己。

要解决此问题,控制服务器的任何人都应登录机器并检查存储库区域,特别注意文件和目录的所有权和权限、磁盘配额以及可能影响此对象迁移过程的任何其他内容。

关于Git:远程拒绝,无法将对象迁移到永久存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49627374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com