gitLab服务器端文件损坏问题解决

  • 由于网络波动,使用的是gitLab HTTP协议来提交的代码,在提交代码时会发生提交的文件在服务端损坏的情况,这个时候客户端应为这个文件损坏而无法pull代码,报错如下:
git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree fetch ebs-biz-evaluation 
2017-08-24 17:07:49.955 git-credential-sourcetree[8431:133862] Error (internetKeychainItemForServer:withUsername:path:port:protocol:) - The specified item could not be found in the keychain.
warning: no common commits
remote: error: inflate: data stream error (incorrect data check)        
remote: error: corrupt loose object '256183692dc917ae201eaa863b157e1e0b9d68f3'        
remote: fatal: loose object 256183692dc917ae201eaa863b157e1e0b9d68f3 (stored in ./objects/25/6183692dc917ae201eaa863b157e1e0b9d68f3) is corrupt        
remote: aborting due to possible repository corruption on the remote side.
fatal: protocol error: bad pack header
Completed with errors, see above

各方面查找资料没有符合自己的有效方案,最终通过自己的理解解决,解决方案如下:

1、进入服务器跟目录(这一步很重要)

  • cd /

2、查出问题项目的仓库目录

  • find -name test.git(这里举例为test.git,在知道目录的情况下这一步可以省略)

3、修改gitlab目录下git-data的权限

  • chmod -R 777 git-data/(默认情况下这个是没有权限可写)

4、进入仓库目录报错的文件对应的文件夹

  • 在git目录下找到objects文件并进入(git提交的文件都会以一个hash值为名字的文件存储在objects目录下)

5、文件替换

  • 找到最后提交代码的开发人员本地仓库找到对应的损坏的文件上传至服务器对应的覆盖文件即可,这里报错的文件目录为
  • ./objects/25/6183692dc917ae201eaa863b157e1e0b9d68f3
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
为了搭建GitLab服务器,您需要按照以下步骤进行操作: 1. 准备服务器: - 获取一台运行Linux操作系统的服务器,推荐使用Ubuntu或CentOS。 - 确保服务器具有足够的资源(处理器、内存、存储空间)来支持您的项目需求。 2. 安装依赖: - 更新服务器上的软件包列表: `sudo apt update`(对于Ubuntu)或 `sudo yum update`(对于CentOS)。 - 安装必要的依赖项: `sudo apt install curl openssh-server ca-certificates postfix`(对于Ubuntu)或 `sudo yum install curl openssh-server postfix`(对于CentOS)。 - 在安装过程中,您需要配置Postfix来设置邮件转发。选择"Internet Site"选项,并将系统邮件名称设置为域名,比如"yourdomain.com"。 3. 安装GitLab: - 添加GitLab软件仓库并安装: ``` curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash sudo EXTERNAL_URL="http://yourdomain.com" apt install gitlab-ee ``` 或者 ``` curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash sudo EXTERNAL_URL="http://yourdomain.com" yum install gitlab-ee ``` 请将"yourdomain.com"替换为您的域名或服务器IP地址。 4. 配置GitLab: - 打开配置文件: `sudo nano /etc/gitlab/gitlab.rb`。 - 根据您的需求,修改配置文件中的参数,如外部URL、SMTP设置、存储设置等。 - 保存并关闭配置文件。 5. 启动GitLab: - 执行命令: `sudo gitlab-ctl reconfigure`。 - 等待一段时间,直到GitLab配置完成。 6. 访问GitLab: - 在浏览器中访问您的服务器IP地址或域名。 - 您将被重定向到GitLab登录页面。 - 创建管理员账户,完成注册。 现在,您已经成功搭建了GitLab服务器,并可以开始管理您的项目了!请注意,这只是一个基本的搭建过程,您可能需要进一步配置和定制以满足您的特定需求。参考GitLab官方文档以获取更多信息和帮助:https://docs.gitlab.com/。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值