【问题标题】:object not properly sorted对象未正确排序
【发布时间】:2014-04-21 12:08:22
【问题描述】:

我正在尝试在 github 上同步我的分叉存储库。我遵循这篇文章的说明:How do I update a GitHub forked repository?,但不幸的是,当我将更改推送到 GitHub 时,我收到以下错误:

remote: error: object 349e70933e59bab5094d8991a7ac35862d46e759:not properly sorted
remote: fatal: Error in object
error: unpack failed: index-pack abnormal exit

这是什么意思以及如何解决这个问题?

【问题讨论】:

  • 尝试在本地运行git-fsck,看看它会说什么。
  • 它说的完全一样:树 349e7...e759 中的错误:未正确排序
  • 好吧,文档说在这种情况下,您需要从备份中恢复提到的对象。我确定你有备份,对吧? ;-)
  • 我当然没有备份,但实际上我在那个分支中没有任何变化。有什么办法可以在原始存储库中获取它?

标签: git github msysgit


【解决方案1】:

看起来您的本地存储库已损坏。 :(

如果您在本地存储库中没有任何重要更改,只需将其删除并从远程存储库克隆一个新的。

【讨论】:

  • 我这样做了多次,但问题仍然存在
  • 这很奇怪。如果可以将存储库从远程存储库传输到本地存储库,则应该可以将其传输回。 git --version 的输出是什么?
  • git 版本 1.8.3.msysgit.0 并且将存储库传输回远程单元存在问题我不合并来自上游的更改
【解决方案2】:

但实际上我在该分支中没有任何更改。有什么办法可以直接在原始存储库中获取它?

如果您在 master 中没有任何个人提交,您可以尝试:

git checkout master
git reset --hard upstream/master
git push origin master

如果你在 master 上完成了提交,最好先将它们隔离在自己的分支中

git checkout master
git branch myBranch
... reset and push master
git checkout myBranch
git rebase master

【讨论】:

  • 不幸的是,当我进行推送时,这会导致同样的错误
  • @SławomirRosiek 您能否尝试制作第二个分叉,只是为了看看您是否可以在第二个分叉的本地克隆上复制您的更改并推送(到第二个分叉)说来自第二个本地的更改回购?确保在专用分支中重现您的更改,而不是在 master 上,正如我昨天在 stackoverflow.com/a/22420869/6309 中说明的那样。
  • 抱歉耽搁了,但是如何创建 GitHub 存储库的第二个分支?
  • @SławomirRosiek 我相信你不能用同一个帐户创建第二个分叉:你必须使用第二个 GitHub 帐户。然后您可以管理不同的帐户进行推/拉(stackoverflow.com/a/7925764/6309)
  • 我已经按照本指南进行了第二次分叉:adrianshort.org/2011/11/08/…,但我在推送期间再次收到 not properly sorted 错误
猜你喜欢
  • 2018-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多