错误信息:

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. Oracle课程档案,第二天

    salary:工资 order by:排序 desc:降序 hire:雇佣 单行函数 一周有七天 一月不一定只有30天 trunc:截取 dual:空表 last:最后 month:月份 round: ...

  2. Springboot的常规属性配置和类型安全配置

    1.类型常规配置: 通过在properties文件中注入键值对的方式,在java代码中通过@Value注解注入值 2.类型安全配置 将要注入的属性包装成一个类,给类加上注解:ConfigrationP ...

  3. 找不到main

    用eclipse写代码的时候,写了一个简单的程序,编译的时候突然出现“错误: 在类 com.test.demo 中找不到 main 方法, 请将 main 方法定义为: public static v ...

  4. 20175320 2018-2019-2 《Java程序设计》第4周学习总结

    20175320 2018-2019-2 <Java程序设计>第4周学习总结 教材学习内容总结 本周学习了教材的第五章的内容.在这章中介绍了子类与继承,着重讲了子类继承的规则以及使用sup ...

  5. js 事件模型

    说到事件,就要追溯到网景与微软的“浏览器大战”了.当时,事件模型还没有标准,两家公司的实现就是事实标准.网景在Navigator中实现了“事件捕获”的事件系统,而微软则在IE中实现了一个基本上相反的事 ...

  6. PrimeNG之DataTable

    --数据表显示在表格格式数据. Basic Import import {DataTableModule,SharedModule} from 'primeng/primeng'; source &l ...

  7. 洛谷P2743 乐曲主题Musical Themes [USACO5.1] SA

    正解:SA 解题报告: 传送门 这题三个条件嘛,那就一个个考虑下都解决了就把这题解决了嘛QwQ 那就直接分别针对三个条件写下各个击破就欧克辣? 1)长度大于等于5:求出答案之后和5比大小 2)不能有公 ...

  8. session_unset 与 session_destroy 区别

    session_unset() 释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session id session_destroy() 删除当前用户对 ...

  9. Mysql数据库配置参数详解大全

    名称 是否需要重启 值 允许值 描述 auto_increment_increment 否 1 1-65,535 auto_increment_increment和auto_increment_off ...

  10. Python静态方法(staticmethod)和类方法(classmthod)

    Python静态方法(staticmethod)和类方法(classmthod)翻了翻之前的笔记,也刚好看到一篇不错的blog,关于静态方法和类方法的,方便以后查阅,就写在这里了,废话不多说,直接上代 ...