在搜索这个特定问题的时间很长时间后,我没有找到其他解决方案,而是在此处发布一个问题:
方案:
- 两个远程服务器: git.address-a.com 和 git.address-b.com
- 一个带有两个遥控器的本地存储库: ORICT to git.address-a.com and 远程b to git。adveress-b.com
- 每天,我检查是否将某物推到远程B 。
- 如果有任何推动,我会根据主(跟踪 onect/master )创建一个新的本地分支我的新分支( Branch-B )。
- 如果一切正常,没有冲突(如果存在某些冲突,我将它们修复了),我只需检查 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