Go项目传到git时vendor目录传输不成功解决方案

问题描述

之前被借到另外一个组跟进一个项目,对口的开发在做go的项目,在用jekins打包的过程中遇到如下问题:问题描述

问题分析

看报错提示是没有找到对应的包,但是实际查看开发本地代码中是包含相应包的,此时怀疑代码没有上传完整,就又重新push了几次,发现结果都一样。后来到git上查看,再到git上查看,发现相应路径下的依赖包目录打开后里面没有相应的内容,只有一个链接似的东西。至此,定位到问题,相应资源包没有正确上传到git上,导致jekins打包时拉取的代码中缺少了对应的资源,抛出错误信息(此时,即使打包成功,产物也无法正常运行)。

解决办法

发生此类问题的原因很简单,经过本次遇到该问题的一番学(折)习(腾),总计出来的解决办法一般有以下3种:

  1. 如果依赖包是引用的github上的资源,如此处使用的logrus日志框架,那么就需要注意检查,将相应依赖包目录下的.git文件夹删除,否则,git会将它识别为单独的一个仓库。注意将项目下除了项目本身的.git文件夹都删除掉。
  2. 如果非第一种情况,可以试试将整个vendor文件夹剪切出去,然后commit一次,commit之后将vendor文件夹再粘贴回来,重新git add,git commit,git push一下。
  3. 如果非第一种情况(目录下没有.git文件夹),第二种方法也不好使,而且在本地手动git add依赖包时提示fatal: Pathspec ‘xxx’ is in submodule之类的信息,可以试试使用git rm -rf --cached path(你的文件夹路径)命令,然后重新git status一下,将需要提交的东西重新add,commit后push到远端仓库中。(该种方法也是最后本次问题使用的解决办法)
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值