【GitBlit】git push异常: [remote rejected] xx->xx(n/a (unpacker error)) error: failed to push some refs

关于git push 执行出现异常问题

异常情况

Enumerating objects: 179, done.
Counting objects: 100% (145/145), done.
Delta compression using up to 8 threads
Compressing objects: 100% (87/87), done.
Writing objects: 100% (91/91), 8.77 KiB | 499.00 KiB/s, done.
Total 91 (delta 71), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (71/71)
error: remote unpack failed: error Missing tree c87ed815efe5c2573ca29726b760284596bfb158
To xxx
! [remote rejected] dlFront -> dlFront (n/a (unpacker error))
error: failed to push some refs to 'xxx’

解决方法参考

与网上查到的相似问题区别在于基于以上的报错打印之后还有附加一句:

** git did not exit cleanly (exit code 1) (593 ms @ 2015/5/15 9:51:12) **
如下图所示:
异常信息
图片来源于:https://www.cnblogs.com/qingliuyu/p/4510233.html

目前网上查找到的解决方法有三种:

  1. git revert 回退版本再重新提交
  2. 执行命令 $ git push --no-thin origin(远程仓库名) HEAD:refs/for/xxxx(分支名)
  3. 暂时不启用包检查:

    git.checkReferencedObjectsareReachable = false

我的解决方案

  1. 本次采用git revert方法解决。
  2. 这条命令对我本次出现的问题不生效。
  3. 网上有提及是远程仓库禁用包检查,也有说是本地库禁用包检查,我没有去试过
当你在提交时遇到 "[remote rejected] HEAD -> refs/for/dev (no changes made)" 的错误提示时,这通常意味着你尝试将一个没有更改的提交推送到远程仓库。 这个错误的原因可能是以下几种情况之一: 1. 没有进行任何更改:你可能没有对你的代码进行任何修改,或者没有添加新的文件。Git 不允许推送没有更改的提交,因为它没有任何新的内容需要上传到远程仓库。 2. 提交已经被推送过:如果你之前已经将相同的提交推送到了远程仓库,那么再次尝试推送时,Git 将拒绝该提交,因为它已经存在于远程仓库中。 3. 分支或远程仓库状态不同步:如果你的本地分支与远程仓库的分支状态不同步,例如其他人已经在远程仓库中进行了更新,或者你所在的团队使用了类似 Gerrit 这样的代码审查工具,可能需要先同步远程仓库的变更再进行提交。 解决这个问题的方法可以是: 1. 确保你对代码进行了修改或添加了新文件。在提交之前,使用 `git status` 命令检查你的工作区和暂存区的状态,并确保有更改需要提交。 2. 如果之前已经推送了相同的提交,你可以尝试使用 `git commit --amend` 命令来修改之前的提交,并重新提交。 3. 使用 `git pull` 命令来拉取远程仓库的最新更改,然后再尝试推送你的提交。 请记住,如果你不确定在特定的代码仓库中应该如何操作,最好与你的团队成员或该仓库的管理员进行沟通,以确保你的操作是正确的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值