git aws.push 上的损坏包文件

Posted

技术标签:

【中文标题】git aws.push 上的损坏包文件【英文标题】:Corrupt pack file on git aws.push 【发布时间】:2012-10-23 09:48:44 【问题描述】:

在尝试将新版本的应用程序代码(Django 应用程序)部署到 AWS Elastic Beanstalk 环境时,我遇到以下错误:

git aws.push
Counting objects: 1648, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (970/970), done.
Writing objects: 100% (1505/1505), 336.19 KiB, done.
Total 1505 (delta 989), reused 645 (delta 436)
remote: 
remote: error: Encountered corrupt pack file: Git command exited with status code 128: error: Trying to write ref refs/heads/master with nonexistent object 8fce6c2b73f03ac271173f85026b3566ef304313
remote: fatal: Cannot update the ref 'refs/heads/master'.
remote: 
remote: 
To https://xxx:xxx@git.elasticbeanstalk.us-west-2.amazonaws.com/repos/xxx/environment-master
! [remote rejected] HEAD -> master (hook declined)
error: failed to push some refs to 'https://xxx:xxx@git.elasticbeanstalk.us-west-2.amazonaws.com/repos/xxx/environment-master'

我这边似乎没有任何改变。 AWS 方面似乎也没有任何变化。几天前部署工作很顺利,但现在不行。

任何想法将不胜感激。谢谢!

编辑:这里是部署快照日志,显示了无数可能与 virtualenv 相关的问题:http://pastebin.com/Ec0jHt0i

【问题讨论】:

你试过在本地重新打包或 gcing 吗? 是的,看到包文件提到这是我做的第一件事,但它似乎没有效果。 【参考方案1】:

可能是因为您已超出允许的最大版本数 (500)。

检查已部署版本数量的命令:

elastic-beanstalk-describe-application-versions |grep '| git-'|wc -l

如果版本数超出,您可以要求 Amazon Web Services 团队为您的应用程序增加限制,或者只删除过时的版本。

希望对你有帮助。

【讨论】:

以上是关于git aws.push 上的损坏包文件的主要内容,如果未能解决你的问题,请参考以下文章

通过 aws.push 部署到 Elastic Beanstalk 时保留某些现有文件

git aws.push 从服务器中删除动态创建的文件 [重复]

git aws.push 返回错误 403

Elastic Beanstalk “git aws.push” 只承诺区别?

git aws.push: 'aws.push' 不是 git 命令

使用 Git 时如何解决“错误:错误索引 – 致命:索引文件损坏”