【龙智技术指南】Helix4Git 简明使用手册
Helix4Git 是一款高性能的 Git 服务器(在 Perforce 服务器内部),它使 Git 用户可以使用 Git 命令访问源代码。Helix TeamHub 是一款 Git 代码托管工具,它们同为 Perforce Git 工具。
当您将这两个工具与 Perforce 版本管理工具 Helix Core 结合使用时,您可以通过单一可信的代码源进行跨开发团队管理。如果您正在与开源或第三方开发团队合作,这一点尤其重要。
本文由龙智技术专家团队成员邱洁玉撰写,她以简明扼要的方式呈现了 Helix4Git 的使用方法,方便中国用户使用。如需了解更多关于 Helix4Git、Helix TeamHub 以及 Helix Core 的相关信息,请联系Perforce授权合作伙伴——龙智。
简介
Helix4Git 是高性能的 Git 服务器(在 Perforce 服务器内部)。这使 Git 用户可以像通常使用 Git 命令那样访问其源代码。
当用户将 Helix4Git 与 Helix Core 一起使用时,用户可以在整个开发团队中维护唯一可信来源。如果用户正在与开源或第三方开发团队合作,这一点尤其重要。
Helix4Git 有两部分构成:
Helix 服务器(即 p4d)
Git connector,相当于一个 git 服务器
用户可以使用 Git 客户端从 gragh 仓库拉取文件后进行更改,然后再将文件推送至 gragh 仓库。Git 客户端与 Helix 服务器通过 git connector 通信。
安装
2.1 安装 Git connector 要求:
Helix Core 服务器版本要在 2017.1 以上
Git 版本在 1.8.5 以上
推荐 git connector 与 helix server 安装在不同的机器上
2.2 Git connector 目前可安装在以下 linux 平台:
Ubuntu 12.04 LTS (Precise), 14.04 LTS (Trusty), 16.04 LTS (Xenial), 18.04 LTS (Bionic), 20.04 (Focal)
CentOS or Red Hat 6.x, 7.x, 8.x
SUSE Linux Enterprise Server 11, 12, 15
2.3 本文配置环境为:
操作系统: centos7
Perforce helix core: 2021.2
Git connector: 2019.2
Git version: 2.34.0
2.4 安装步骤
2.4.1 导入软件签名
2.4.2 配置 repo 地址
创建/etc/yum.repos.d/Perforce.repo 并添加以下内容:
其中 7 表示 centos 的版本。
2.4.3 安装 Git Connector package
配置
3.1 配置 Git connector
root 执行以下命令进入配置脚本交互模式:
配置完成后有以下提示:
3.2 Helix Server 权限配置
super 权限的用户执行以下命令给 gconn-user 用户需要的权限:
然后在权限表增加一行:
其它用户如需要操作 graph 仓库,需要分配相应权限:
3.3 创建 graph 仓库
在配置过程中默认创建了一个名为 repo 的仓库,如果想创建其他的 graph 仓库,输入命令:
创建完成之后需要给 gconn-user 赋予权限,参见 3.2。
3.4 创建 repos
创建存在于 gragh 仓库的 repo,前提是此用户有 create-repo 权限:
3.5 Git 用户认证配置
根据 Git connector 的配置,Git 用户如果想从 Helix4Git 上 pull/push repos 则需要设置 ssh 或者 https 认证,设置完成后 Git 用户就可以通过 url 和 Helix4Git 一起协同工作。
ssh:
https:
3.5.1 ssh
客户机创建 ssh 密钥:
将公钥导入 Helix Server 机器,当有多个公钥时,-s 指定此次公钥作用名字
等待几分钟密钥更新后,验证是否导入成功:
3.5.2 https
使用 https 时需要根据提示输入 Helix Server 的账户名和密码。
执行以下命令关闭 SSL 认证:
如何使用 Helix4Git
4.1 Git 客户端 push 文件到 Helix4Git 服务器
使用 Git 客户端 push repos 到 Helix Core 服务器的 gragh 仓库
4.2 p4 侧查看上传到 gragh 仓库的内容
4.2.1 创建工作区,同步 repos
命令行或 p4v 创建工作区,工作区 type 字段选择 gragh 类型,view 字段定义仓库到本地的映射:
创建完工作区后,使用以下命令就可以更新 gragh 仓库的最新内容到本地:
也可在 p4v 上拉取最新:
4.2.2 repo 包含多个分支
如果项目有多个分支,那么 push 到 Helix4Git 的默认分支是 master,以下命令 repo 包含所有分支:
在 p4 工作区可以在 repo 内切换分支:
命令行切换:
p4v 切换:
4.2.3 repo 指定分支
如果项目有多个分支,那么 push 到 Helix4Git 的默认分支是 master,如果需要指定分支,比如指定 dev 分支,可以在 repo 定义里加入以下字段:
Git 客户端切到(checkout)dev 分支后执行 push 命令将内容提交到相应的 repo。
4.3 git 侧更新文件,p4 侧拉新
执行 p4 sync 查看文件可以同步到 p4 工作区:
4.4 p4 侧更新文件,Git 侧拉新
使用 p4 命令行提交(p4v 暂不支持提交):
提交完成可在 p4 侧看到文件相应的提交历史记录:
Git 客户端拉取 Helix4Git 端代码,获取到 p4 侧上传的文件内容:
4.5 在 p4 工作区内组合普通仓库和 graph 仓库
graph 仓库(gitrepo)和 p4 普通仓库的内容可以组合到同一个 p4 工作区内,例如习惯 Git 操作的用户可以将代码保存在 graph 仓库中,平常使用 Git 命令操作,其他用户可以直接使用 p4 固有的 local,stream 仓库,需要构建时,可以按需求将不同仓库的内容组合到同一个工作区中,一条命令即可下载全部需要的数据,并且可以共享一套统一的备份方案。
工作区定义:
查看工作区组合内容:
参考文档
Helix4Git 官方手册:https://bit.ly/3znL1YA
如想免费试用 Helix4Git、Helix TeamHub 以及 Helix Core,请立即联系Perforce授权合作伙伴——龙智:
电话:400-775-5506
邮箱:marketing@shdsd.com
评论