错误信息:

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. roadhog 介绍

    官方网站:https://www.npmjs.com/package/roadhog; 项目搭建demo: https://github.com/ght5935/antd-dva-less-webpa ...

  2. java Api 读取HDFS文件内容

    package dao; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.*; import java ...

  3. js的运用1

    1.parselnt() 2.parsefloat() 遇到第一个字节是非数字就结束了. 3.      var   a="hello world" a这个变量是字符串了,对于里面 ...

  4. Python学习之旅(三十三)

    Python基础知识(32):网络编程(Ⅰ) 网络通信是两台计算机上的两个进程之间的通信,而网络编程就是如何在程序中实现两台计算机的通信 P协议负责把数据从一台计算机通过网络发送到另一台计算机 TCP ...

  5. kafka的一些参数

    参考文档: https://blog.csdn.net/fengzheku/article/details/50585972 http://kafka.apache.org/documentation ...

  6. win10系统激活

    我们常常使用一些激活工具来激活,效果可能比较差.比如我激活win10教育版,下载了很多软件无论如何都不能激活.但是使用命令行很容易就激活了. 1. 2.在命令提示符中依次输入: slmgr.vbs / ...

  7. redis问题与解决思路

    问题现象: 集群状态 1主 2从,主没有开启bgsave,从开启bgsave.现象所有redis可以访问,进行操作.主不断开始bgsave 1从停止bgsave. 主日志报错# Connection ...

  8. linux学习:【第3篇】远程连接及软件安装

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! linux学习:[第3篇]远程连接及软件安装 远程连接 xshell , xftp软件官网 : ...

  9. 将python代码打包成一个app/exe

    前言 打包的代码通常都需要写一个简单的界面,一般用PyQt来写.用PyQt写界面的方法请戳这里:PyQt5的安装及基本配置    PyQt5教程 python提供了几个用来打包的模块,主要有py2ap ...

  10. slf4j日志使用

    scala中 trait LogSupport { protected val log = LoggerFactory.getLogger(this.getClass) } 需要要到的类 extend ...