环境

git version 1.9.1
Gerrit Code Review (2.11.3)
  • 1
  • 2

现象

修改后调用 git review可以提交到Gerrit上,然后只要一用 git commit --amend修改 Commit Message再提交,就会出现此错误;而如果不修改Commit Message,而只是修改增加文件,那么可以用 --amend提交再 git review

error: unpack failed: error Missing tree 8d89499daadf6417347218b630b5cae57e7fa27c
fatal: Unpack error, check server log
To ssh://user1@review.zjc.com:29418/test-project1.git
! [remote rejected] HEAD -> refs/publish/master (n/a (unpacker error))
error: failed to push some refs to 'ssh://user1@review.zjc.com:29418/test-project1.git'
  • 1
  • 2
  • 3
  • 4
  • 5

解决方案

经过多方查资料,是提交时的 thin push 的问题,默认是开着的,要把它关掉

有人说

  • 在工程的 .gitreview 下的 Gerrit节点下增加 disablethinpush=true
  • 在 /etc/git-review/git-review.conf 中添加 disablethinpush=true
  • 用 git push --no-thin ...来解决,因为这是一个BUG
  • 涉及到库更改时候有未关闭的的patch,更新gerrit的数据库

好吧,我承认在Git使用上我是菜鸟,我只是用 git review来提交而已。捣鼓了半天上面的N种列出来没列出来的解决方案,都失败

好吧,说出来我碰巧得到的一个这种方案

执行命令git review --no-thin :失败 
无意间看到 git review -h 有个命令行参数 -n 
执行命令git review -n :

Please use the following command to send your commits to review: 
git push gerrit HEAD:refs/publish/master

执行 git push gerrit HEAD:refs/publish/master : 还是那个错误

执行 git push --no-thin gerrit HEAD:refs/publish/master

成功了!!!!

好吧,我笨 && 牛人的世界我不懂

结论

加一个结论吧,啰嗦一大堆,其实就2句话是关键 
执行 git review,如果出现错误就执行 git push --no-thin gerrit HEAD:refs/publish/master

参考

https://libraries.io/github/savoirfairelinux/git-review 
https://bugs.launchpad.net/git-review/+bug/1332549 
http://www.cnblogs.com/qingliuyu/p/4510233.html

Git review :error: unpack failed: error Missing tree的更多相关文章

  1. error: unpack failed: error Missing tree

    最近新建一个仓库,push时遇到如下问题,试了好多方法,最后在stackoverflow上找到解决办法了,可是在开始时就试过这方法,但不成.至于为嘛出现的这种错误,还是不明白原因. git.exe p ...

  2. gerrit代码审核工具之“error unpack failed error Missing unknown”错误解决思路

    使用gerrit代码审核工具时遇到error: unpack failed: error Missing unknown d6d7c89bd1d77f44c5c8e99437aaffbfc0684e7 ...

  3. gerrit error: unpack failed: error Permission denied

    gerrit服务器迁移后,clone和pull代码到本地,都没问题. 但是,push时,报错: 查看了下git版本库存储目录,发现git下版本库镜像文件owner都是root.因为之前安装的gerri ...

  4. GitBlit中出现 error: remote unpack failed: error Missing tree

    clu@WASYGSHA01-1020 MINGW64 /d/ChuckLu/Git/Edenred/LISA_5.0.0.0 (local)$ git push origin preaction:p ...

  5. 配置web pack loader 报错:Module build failed: Error: The node API for `babel` has been moved to `babel-core`.

    报错如下 Module build failed: Error: The node API for `babel` has been moved to `babel-core`. 在我配置loader ...

  6. 百度人脸识别集成错误:Build command failed. Error while executing process F:\dev\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe with arguments

    大概是这么个错误 Build command failed. Error while executing process F:\dev\Android\Sdk\cmake\3.6.4111459\bi ...

  7. 【Problem】前端项目运行:Module build failed:Error Node Sass does not yet support my current environmen

    我在运行renren-fast-vue前端项目时,安装完依赖cnpm install 启动服务npm run dev 出现问题. Module build failed: Error: Node Sa ...

  8. npm run dev 启动错误:Module build failed: Error: No PostCSS Config found in:xxxxxxxxxxxxxx

    解决办法:在根目录新建postcss.config.js module.exports = { plugins: { 'autoprefixer': {browsers: 'last 5 versio ...

  9. 移动vue项目,启动错误:Module build failed: Error: No PostCSS Config found in:

    解决办法:在根目录新建postcss.config.js module.exports = { plugins: { 'autoprefixer': {browsers: 'last 5 versio ...

随机推荐

  1. 【LINUX】SVN 代码提交之后。同步到web目录下

    1  当你使用svn在成功提交一个新版本的时候,svn仓库目录下的hook文件夹下的post-commit脚本会运行 用shell写一个脚本,在提交完版本后,自动在web目录运行一下svn updat ...

  2. MQTT-SN协议乱翻之消息格式

    前言 紧接着上篇初步介绍,本文为第二篇,主要梳理MQTT-SN 1.2协议中定义的消息格式. 通用消息格式 消息头 其它可变部分 2/4字节表示 N字节组成 消息头部 长度 消息类型 1或3个字节 1 ...

  3. serializeArray()与serialize()的区别

    serialize()序列化表单元素为字符串,用于 Ajax 请求. serializeArray()序列化表单元素为JSON数据. <script type="text/javasc ...

  4. codevs 5966 [SDOI2017]硬币游戏

    输入描述 Input Description 输入输出数据精度为1e-10 [题解] #include<cstdio> using namespace std; ; char s[N][N ...

  5. 360全景图three.js与Photo-Sphere-Viewer-master 3D全景浏览开发

    1.支持WebGL和canvas的浏览器 (IE10, IE11支持, 但在IE里移动图片时很卡, 不一定是全部人都有这情况) 2.Three.js (文件较大, 有官网demo, 可不下载, 下载p ...

  6. chkconfig --add失败的处理方法

    author: headsen  chen datet:2018-08-30   11:57:49 1,在/etc/init.d/下面添加两个文件,并授予 +X 的权限,效果如下: 2,添加到开启自启 ...

  7. 微信小程序 --- 组件

    view组件:小程序使用最多的组件.可以理解为 div: Text组件:用于展示文字.可以理解为 p span 标签.(除了Text组件以外的其他组件都无法被长按选中) Text组件无法解析HTML, ...

  8. 手机联系人信息获取(contacts) ---- HTML5+

    模块:contacts Contacts模块管理系统通讯录,用于可对系统通讯录进行增.删.改.查等操作.通过plus.contacts获取系统通讯录管理对象. 对象:联系人对象(属性:电话,地址等)针 ...

  9. 收集一些常用的CDN链接!无需下载快速使用!

    一些常用的CDN链接,可以到这里看: http://www.bootcdn.cn/ 这个网站查找资源的方式很简单,后缀加上要查找的名字即可: 例如: http://www.bootcdn.cn/boo ...

  10. linux注意的一些地方

    assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行 #include <assert.h>void assert( int expr ...