gerrit配置及使用git-lfs

gerrit服务器端配置

下载git-lfs插件

  1. 登录Dashboard Jenkins (gerritforge.com),下载对应版本的插件

配置gerrit

  1. 将下载的lfs.jar插件放到${GERRIT_SITE}/plugins/下面

  2. 为所有仓库启用git-lfs

    1. 此步骤需要修改 All-projects 仓库配置,步骤如下 1、克隆仓库,检出到refs/meta/config

      |---------|---------------------------------------------------------------------------------------------------------------------------------------------------|
      | 1 2 3 4 | git clone ``"ssh://admin@192.168.60.148:29418/All-Projects" cd All-Projects git fetch origin refs``/meta/config git checkout FETCH_HEAD |

    2. 添加LFS配置文件``lfs.config``,写入如下内容

      |-------|------------------------------------------------------------------------------------------------|
      | 1 2 3 | [lfs ``"^.*"``] ``enabled = ``true # 启用LFS ``maxObjectSize = 500m ``# LFS允许的最大对象 MiB |

    3. 提交到 All-projects 仓库并合入变更

      |-------|------------------------------------------------------------------------------------------|
      | 1 2 3 | git add . git commit -m ``"add lfs config" git push origin HEAD:refs``/meta/config |

  3. 在gerrit.config中启用lfs,在gerrit.config中增加如下内容

    |-----|---------------------------|
    | 1 2 | [lfs] ``plugin = lfs |

复制代码
      指定存储类型,在${GERRIT_SITE}/etc下增加lfs.config,写入以下内容(如不填写directory的值则默认会将lfs文件的数据保存在$GERRIT_SITE/data/lfs)

  |-----|-------------------------------|
  | 1 2 | `[storage]` ` ``backend = fs` |
  1. 重启gerrit

    |---|--------------------------------------------|
    | 1 | ${GERRIT_SITE}``/bin/gerrit``.sh restart |

客户端配置

  1. 安装git-lfs软件包(执行用户需要有sudo权限)

    |-----|------------------------------------------------------------------------|
    | 1 2 | sudo apt ``install -y git-lfs # 安装成功后可执行git lfs version查看安装的版本 |

客户端使用

  1. 在Git仓库中为仓库设置相关配置

    |---|---------------------|
    | 1 | git lfs ``install |

    Tips:

    这个命令会自动改变Git配置文件 .gitconfig,而且是全局性质的,只需要配置一次,会自动在配置文件中增加如下配置:

    filter "lfs"

    clean = git-lfs clean -- %f

    smudge = git-lfs smudge -- %f

    process = git-lfs filter-process

    required = true

  2. 选择要用LFS追踪的文件

    |---------|---------------------------------------------------------------------------------------------------|
    | 1 2 3 4 | git lfs track ``"*.svg" # 或者具体到某个文件 git lfs track ``"2.png" git lfs track ``"example.lfs" |

    Tips:

    这个命令会更改仓库中的 .gitattributes配置文件(如果之前不存在这个文件,则会自动新建):

    查看如下:

    $ cat .gitattributes

    *.svg filter=lfs diff=lfs merge=lfs -text

    2.png filter=lfs diff=lfs merge=lfs -text

    example.lfs filter=lfs diff=lfs merge=lfs -text

  3. 查看lfs追踪文件

    |---------|---------------------------------------------------------------------------------------------|
    | 1 2 3 4 | git lfs ``ls``-files 9a3c7dae41 * example.lfs d61cf5835a * 2.png 158213f90f * 3.svg |

  4. 保存并提交配置

    |---------|--------------------------------------------------------------------------|
    | 1 2 3 4 | # 提交 git add . git commit -m ``"add Large File Storage" git push |

    注意:

    如git仓库中配置了使用lfs来管理大文件,则在repo sync之后执行以下命令拉取大文件

|---|-----------------------------------|
| 1 | repo forall -c ``'git lfs pull' |

相关推荐
vx-Biye_Design5 小时前
SSM伴侣动物伴护星小程序06330-计算机课程设计、毕业设计
spring boot·后端·elasticsearch·小程序·架构·课程设计·idea
云泽8089 小时前
Git 版本控制系统(下):从 .git 目录结构到冲突解决机制详解
大数据·git·elasticsearch
Elastic 中国社区官方博客9 小时前
教程:使用 ES|QL 进行威胁狩猎
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索·安全威胁分析
Elasticsearch13 小时前
jina-reranker-v3.5:通过混合注意力与自蒸馏实现更快的列表式重排序
elasticsearch
Elasticsearch15 小时前
Elasticsearch Python DSL 客户端开发
elasticsearch
麻辣布丁16 小时前
Git冲突原因与解决方法全解
大数据·git·elasticsearch
顧棟19 小时前
【ES实战】 低版本Elasticsearch(不具备CCR)集群迁移
大数据·elasticsearch·搜索引擎
一支黑色の铅笔20 小时前
VSCode 克隆Git项目
ide·git·vscode
Elastic 中国社区官方博客20 小时前
隐藏在可观测性数据中的安全攻击
大数据·网络·安全·elasticsearch·搜索引擎·全文检索
Gl�ria21 小时前
Linux 查看日志常用命令
java·linux·servlet