错误信息:

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. HTML <script> 标签的 defer 和 async 属性

    HTMKL <script>标签中有defer和async属性,简单介绍一下两者的区别吧.   普通的script标签会让浏览器立即下载并执行完毕,执行也是按照先后顺序,再进行后面的解析. ...

  2. springmvc02,使用注解

    unit04_01 a.RequestMappingHandlerMapping组件 @RequestMapping("/login.do") 该标记用在Controller业务方 ...

  3. elk-(七)

    最终架构确定为  logs--->blieb--->redis/kafka--->logstash--->es--->kibana 注意:  geoip下载地址: wge ...

  4. ffmpeg快速获取视频截图

    使用ffmpeg可以非常方便的生成视频截图,命令行下的mplayer也可以做视频截图,只不过mplayer在本质上还是调用ffmpeg来实现.ffmpeg 通过指定 -vcodec 参数为 mjpeg ...

  5. Android启动页欢迎界面大全 (网址)

    地址:http://download.csdn.net/detail/u013424496/9539810

  6. .NET Core 2.1 源码学习:看 SocketsHttpHandler 如何在异步方法中连接 Socket

    在 .NET Core 2.1 中,System.Net.Sockets 的性能有了很大的提升,最好的证明是 Kestrel 与 HttpClient 都改为使用 System.Net.Sockets ...

  7. jdbc--取大量数据

    最近使用jdbc方式查询数据,保存为csv文件中.当然你可以在pl/sql中直接查出来,copy to excel就好了.但我想通过程序实现 @Test public void test() thro ...

  8. .net ML机器学习中遇见错误记录

    避免入坑: 1.错误提示 numClasses must be at least   2 大概是训练模型的数据分类必须是两种,如下错误: 正确数据集如下:

  9. dll静态调用和动态调用

    动态链接库有2种连接方式,一种是通过库直接加入(又叫隐式加载或载入时加载),一种是在运行时加入.后者很好理解,比如LoadLibrary(),GetProcAddress()获取想要引入的函数,使用完 ...

  10. js阻止表单默认提交、刷新页面

    一.阻止刷新页面 在表单中的提交按钮<button></button>标签改为<input type="button">或者在<butto ...