"unpack failed: error Missing commit"但提交存在



在搜索这个特定问题的时间很长时间后,我没有找到其他解决方案,而是在此处发布一个问题:

方案:

  1. 两个远程服务器: git.address-a.com git.address-b.com
  2. 一个带有两个遥控器的本地存储库: ORICT to git.address-a.com and 远程b to git。adveress-b.com
  3. 每天,我检查是否将某物推到远程B
  4. 如果有任何推动,我会根据主(跟踪 onect/master )创建一个新的本地分支我的新分支( Branch-B )。
  5. 如果一切正常,没有冲突(如果存在某些冲突,我将它们修复了),我只需检查 Master ,并与 Branch-B branch-b 合并因此,我将 Master 推到 origin/master

问题的描述:

此工作流程运行良好,但是由于某种原因,在每日集成的最后一周,Git在推动中向我返回了一条消息:

error: unpack failed: error Missing commit 041460e3edf2f00f75022ce864535ffa2331f1c3
To https://myuser@git.address-a.com/git/r/project.git
! [remote rejected] master -> master (n/a (unpacker error))

此提交(缩短:041460)来自两周前,都存在于两个遥控器中。但是,现在,当我获取从远程b branch-b 的更改时,将其合并到 Master > Origin 正在显示此错误。

命令执行:

#git checkout -b branch-b
#git fetch remote-b
#git merge remote-b/master
#git checkout master
#git merge branch-b
#git push origin master

环境:

远程中的git:1.7.1我的机器中的git:1.9.1两个遥控器中的gitblit 1.6.2

尝试:

  • rebase
  • 在此之后,git和rebase的承诺的父母分支。
  • 删除本地项目,重做所有集成步骤。

您尝试过

是否尝试过
git push --no-thin origin master 

也是?

在您的本地存储库上可能有些错误。尝试此git命令清理不必要的文件并优化本地存储库:

git gc

最新更新