添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • 修改配置文件 sudo vi /etc/gitlab/gitlab.rb
    git_data_dir "/mnt/application/gitlab/git-data"
    如果 git_data_dir 前面带有 # 号表示这个属性为被注释的,把前面的 # 号去掉就好了
  • 更新gitlab配置
    sudo gitlab-ctl reconfigure

    迁移旧数据到新仓库位置

    这时候你就可以访问新的gitlab的网站了,但是你会发现所有的仓库都是空的,这是因为原来的git仓库的数据都没迁移过来,下面我们就要迁移旧仓库的数据到新建的仓库位置下了

  • 找到旧仓库的位置,一般都会在这个位置下
    /var/opt/gitlab/git-data/
  • cp 命令复制旧仓库下的数据到新的仓库下
  • 这时候重新打开git的网站(记得关闭之后再打开,不然浏览器会有缓存的),就可以看到旧仓库的数据导入到新的仓库下了
  • 修改本地的仓库配置

  • 找到迁移的项目的本地项目的路径下

  • 输入 git remote -v ,查看现在的本地仓库所对应的地址

  • 修改git根目录下 .git 文件下的config文件

  • 修改 url 参数的值为新的仓库地址

  • 提交一个代码测试下,卧槽,报错了?什么错误,让我们来看一看

    remo@remo:/qualcomm/jenkins/r1528_ap/oe-core$ git push  
    Counting objects: 10, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (5/5), done.
    Writing objects: 100% (8/8), 676 bytes, done.
    Total 8 (delta 3), reused 0 (delta 0)
    error: insufficient permission for adding an object to repository database ./objects
    fatal: failed to write object
    error: unpack failed: unpack-objects abnormal exit
    To ssh://repogitgerrit@192.168.0.198/home/repogitgerrit/repositories/9x25oecore.git
    ! [remote rejected] master -> master (n/a (unpacker error))
    error: failed to push some refs to 'ssh://repogitgerrit@192.168.0.198/home/repogitgerrit/repositories/9x25oecore.git'
    remo@remo:/qualcomm/jenkins/r1528_ap/oe-core$ ls  
    

    现在的错误就是因为linux的用户组权限问题而造成的,因为我们迁移到的云数据盘,git的用户组在云硬盘上没有权限而造成的
    怎么解决我们的问题呢?

  • 进到你服务器的git仓库下
    我们刚才将mnt/application/gitlab/git-data设置为我们现在的仓库位置了
  • 执行如下命令
    输入vim /etc/group查看用户组
    chgrp -R git . git代表的是用户组为git的组
    chmod -R g+rwX .赋给用户组读写可执行的权限
    find . -type d -exec chmod g+s '{}' +
    如果刚才的操作没生效的话,再输入git config core.sharedRepository或者git config core.sharedRepository group
  • 提交代码进行测试,ok了
  •