【龙智技术指南】Helix4Git简明使用手册

Helix4Git是一款高性能的Git服务器(在Perforce服务器内部),它使Git用户可以使用Git命令访问源代码。Helix TeamHub是一款Git代码托管工具,它们同为Perforce Git工具。

当您将这两个工具与Perforce版本管理工具Helix Core结合使用时,您可以通过单一可信的代码源进行跨开发团队管理。如果您正在与开源或第三方开发团队合作,这一点尤其重要。

本文由龙智技术专家团队成员邱洁玉撰写,她以简明扼要的方式呈现了Helix4Git的使用方法,方便中国用户使用。如需了解更多关于Helix4Git、Helix TeamHub以及Helix Core的相关信息,请联系Perforce授权合作伙伴——龙智。

【龙智技术指南】Helix4Git简明使用手册_第1张图片

简介

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 导入软件签名

sudo rpm --import http://package.perforce.com/perforce.pubkey

2.4.2 配置repo地址

创建/etc/yum.repos.d/Perforce.repo并添加以下内容:

[perforce]
name=Perforce for CentOS $releasever - $basearch
baseurl=http://package.perforce.com/yum/rhel/7/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://package.perforce.com/perforce.pubkey

其中7表示centos的版本。

2.4.3 安装Git Connector package

sudo yum install helix-git-connector

配置

3.1  配置Git connector

root执行以下命令进入配置脚本交互模式:

$ sudo /opt/perforce/git-connector/bin/configure-git-connector.sh

配置完成后有以下提示:
【龙智技术指南】Helix4Git简明使用手册_第2张图片

3.2  Helix Server权限配置

super权限的用户执行以下命令给gconn-user用户需要的权限:

p4 protect

然后在权限表增加一行:

list user gconn-user * //...

其它用户如需要操作graph 仓库,需要分配相应权限:

p4 grant-permission -d graphDepotName -u username -p admin
p4 grant-permission -d graphDepotName -u username -p create-repo
p4 grant-permission -d graphDepotName -u username -p write-all

3.3  创建graph仓库

在配置过程中默认创建了一个名为repo的仓库,如果想创建其他的graph仓库,输入命令:

p4 depot -t gragh depotname

创建完成之后需要给gconn-user赋予权限,参见3.2。

3.4  创建repos

创建存在于gragh仓库的repo,前提是此用户有create-repo权限:

p4 repo //graphDepotName/repo1

3.5  Git用户认证配置

根据Git connector的配置,Git用户如果想从Helix4Git上pull/push repos则需要设置ssh或者https认证,设置完成后Git用户就可以通过url和Helix4Git一起协同工作。

ssh:

git  git@ConnectorHost:graphDepotName/repoNamehttps:git  

https:

//username@ConnectorHost/graphDepotName/repoName

3.5.1 ssh

客户机创建ssh密钥:

ssh-keygen -t rsa

将公钥导入Helix Server机器,当有多个公钥时,-s指定此次公钥作用名字

p4 -p helixserver:1666 -u admin pubkey -u bruno -s scopeName -i < id_rsa.pub

等待几分钟密钥更新后,验证是否导入成功:

git clone git@ConnectorHost:@info

3.5.2 https

使用https时需要根据提示输入Helix Server的账户名和密码。

执行以下命令关闭SSL认证:

export GIT_SSL_NO_VERIFY=truegit config --global http.sslVerify false

如何使用Helix4Git

4.1  Git客户端push文件到Helix4Git服务器

使用Git客户端push repos到Helix Core服务器的gragh仓库

git push git@ConnectorHost:graphDepotName/repoName

4.2  p4侧查看上传到gragh仓库的内容

4.2.1创建工作区,同步repos

命令行或p4v创建工作区,工作区type字段选择gragh类型,view字段定义仓库到本地的映射:
【龙智技术指南】Helix4Git简明使用手册_第3张图片

创建完工作区后,使用以下命令就可以更新gragh仓库的最新内容到本地:

p4 sync //graphDepotName/repoName/...

也可在p4v上拉取最新:

【龙智技术指南】Helix4Git简明使用手册_第4张图片

4.2.2 repo包含多个分支

如果项目有多个分支,那么push到Helix4Git的默认分支是master,以下命令repo包含所有分支:

git push git@ConnectorHost:graphDepotName/repoName --all

在p4工作区可以在repo内切换分支:

命令行切换:


git push git@ConnectorHost:graphDepotName/repoName --all

p4v切换:
【龙智技术指南】Helix4Git简明使用手册_第5张图片

4.2.3 repo指定分支

如果项目有多个分支,那么push到Helix4Git的默认分支是master,如果需要指定分支,比如指定dev分支,可以在repo定义里加入以下字段:

DefaultBranch: refs/heads/devGit

客户端切到(checkout)dev分支后执行push命令将内容提交到相应的repo。

4.3  git侧更新文件,p4侧拉新

git add .
git commit -m
git push git@ConnectorHost:graphDepotName/repoName

执行p4 sync查看文件可以同步到p4工作区:

【龙智技术指南】Helix4Git简明使用手册_第6张图片

4.4  p4侧更新文件,Git侧拉新

使用p4命令行提交(p4v暂不支持提交):
图片
提交完成可在p4侧看到文件相应的提交历史记录:
【龙智技术指南】Helix4Git简明使用手册_第7张图片
Git客户端拉取Helix4Git端代码,获取到p4侧上传的文件内容:
【龙智技术指南】Helix4Git简明使用手册_第8张图片

4.5  在p4工作区内组合普通仓库和graph仓库

graph仓库(gitrepo)和p4普通仓库的内容可以组合到同一个p4工作区内,例如习惯Git操作的用户可以将代码保存在graph仓库中,平常使用Git命令操作,其他用户可以直接使用p4固有的local,stream仓库,需要构建时,可以按需求将不同仓库的内容组合到同一个工作区中,一条命令即可下载全部需要的数据,并且可以共享一套统一的备份方案。

工作区定义:
【龙智技术指南】Helix4Git简明使用手册_第9张图片
查看工作区组合内容:
【龙智技术指南】Helix4Git简明使用手册_第10张图片

参考文档

Helix4Git官方手册:https://bit.ly/3znL1YA

如想免费试用Helix4Git、Helix TeamHub以及Helix Core,请立即联系Perforce授权合作伙伴——龙智:
电话:400-775-5506
邮箱:[email protected]

你可能感兴趣的:(git)