错误信息:

error: cannot open .git/FETCH_HEAD: Permission denied

unpacking the sent packfile failed on the remote

问题起因

在上周的工作中遇到一个提交代码至远程server失败的情况. 我在本地的git上一共提交过5次记录,使用vs集成的team explorer将这些本地commit push到remote server时候, 在output window中报出如下错误:

unpacking the sent packfile failed on the remote

在网上找了很多解决方案都没有一个符合我的情况的. 估计也是这个error比较泛泛,不能准确定位问题原因的一个搜索关键字.一时之间我无从下手.

问题排查

经过一些搜索后网上有指出出现这个错误是因为本地的代码损坏了. 其实不明白为什么损坏, 我想测试一下是否损坏,于是我想到用git bash试试能否将远程代码pull到本地, 结果是没问题的. git bash显示本地代码已经up to date. 那么问题来了, 我可以pull代码却不能push代码,这是为什么?

所以我就用bash尝试push代码,但是bash上面显示的错误是不一样的.它报的错误是

error: cannot open .git/FETCH_HEAD: Permission denied

这个错误我查了一下估计是没有权限, 很奇怪为什么我的code我为什么没有权限.

后来思索了一下, 我启动bash是用的我的login user, 但是我的git是使用vs的team explorer进行维护的. vs是用的administrator启动的. 有没有可能是这个原因.

我去找了code路径下面的git文件夹下面的所有带HEAD的文件, 检查了一下security发现我的login user并不在里面. 我对所有文件进行加权后这个问题就没了.

但是另一个问题出现了, 报错如下图:



很明显这应该是问题的根源, 我猜测vs的output的window没有将真正的错误给显示出来.

这个错误是由于我提交的内容里面, 由于包含了某些机密的内容无法提交. 后期我将包含问题的app.config reset回本地, 其他的code则可以顺利提交

问题总结

git的使用还是需要看看了解概念的.下面是我在解决问题的过程中用到的一些资料网址:

https://githowto.com/

https://gist.github.com/wilsonsilva/c6f870e6423a1c0076224d1f1e468dbb


希望以上内容能够帮助到遇到同样问题的你.如有其它思路可以随时联系我.

【Git】git error记录之 "unpacking the sent packfile failed on the remote"的更多相关文章

  1. git : error occurred during unpacking on the remote end: unpack-objects abnormal exit

    error occurred during unpacking on the remote end: unpack-objects abnormal exit git服务器磁盘满了.

  2. linux ,mac连接, git pull error, chmod修改文件的权限/chown修改文件和目录的所有者

    去项目目录下 启动服务 setsid npm start & Mac下如何用SSH连接远程Linux服务器 https://www.cnblogs.com/littleBit/p/536280 ...

  3. Git 仓库和记录操作到仓库

    Git 配置好了,来 clone 个或者新建个仓库来试试, $ git clone git@github.com:git/git.git 把 Git 的源码克隆下来,克隆会自动创建本地仓库,并创建本地 ...

  4. error setting certificate verify locations: CAfile: E:/git/Git/mingw64/ssl/certs/ca-bundle.crt

    一.问题: 当git clone项目时报 error setting certificate verify locations: CAfile: E:/git/Git/mingw64/ssl/cert ...

  5. 『GitHub』Git常用命令记录

    Commands: git init 把当前目录变成Git可以管理的仓库 随后出现.git目录,这个目录是Git来跟踪管理版本库的git commit -m "change message& ...

  6. GIT初始学习记录

    目录 GIT学习记录 配置github与gitlib两个账号 基本操作 git init:初始化仓库 git status:查看仓库状态 git add :向缓存区中添加文件 git commit 保 ...

  7. git push error HTTP code = 413

    error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large 将 ...

  8. git 跟踪提交记录

    一.克隆git仓库 git clone ssh://hwl@xxx/home/data/repositories/git.git 二.申明使用人信息,以便跟踪提交记录 $ git config --g ...

  9. 【Git】学习记录

    配置git git config --global user.name "用户名或者用户ID" git config --global user.email "邮箱&qu ...

随机推荐

  1. ubuntu下openssh升级

    因客户漏扫扫描出来openssh及openssl存在漏洞,现升级为官方最新版 这里选择编译安装 去官网下载: openssl-1.0.2o.tar.gz openssh7.7.1 zlib-1.2.1 ...

  2. super方法 调用父类的方法

    描述 super() 函数是用于调用父类(超类)的一个方法. super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO).重复 ...

  3. Java远程连接redis, 报错 Connection refused: connect

    在今天的学习Redis中报错 Connection refused: connect 我总结了有三种情况: 1.远程服务器中的Redis没有开启. 2.远程连接地址出错,或者是端口出错. 3.远程服务 ...

  4. IIS多个应用程序共享Session

    在应用程序目录下面添加一个Global.asax文件,在文件中添加以下代码: public override void Init() { base.Init(); foreach (string mo ...

  5. linux --mariadb/redis数据库篇

    mariadb ---磁盘型数据库 基础安装 配置好yum源后,软件就可以通过配置的yum源进行安装,按理来讲安装mysql直接通过   yum install mariadb  -y  便可安装,但 ...

  6. django-CRM-项目部署

    流程 rbac组件的应用 1:拷贝rbac组件到新的项目中,执行注册 2:数据库迁移 先删除rbac下migrations下除了init之外的所有文件 修改用户表 class User(models. ...

  7. javascript匿名函数 闭包

    匿名函数 (function(){                console.info("111111111");            })(); var my = (fun ...

  8. [java] 在linux+chrome/firefox上使用java applet

    我现在的浏览器用不了java applet,我的环境是archlinux + chrome or firefox. java网站的指引是这样说的 按照这些说明操作,以便在 Ubuntu Linux 上 ...

  9. python 缺少module

    ImportError: No module named lxml ImportError: No module named PyQt4.QtCore sudo apt-get install pyt ...

  10. webstorm 配置 开发微信小程序

    默认情况下,webstorm是不支持wxml和wxss的文件类型,不会有语法高亮 设置高亮 除了高亮,还需要代码提示, 所幸已经有前辈整理了小程序的代码片段,只需要导入其安装包即可使用,包文件路径如下 ...