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 导入软件签名
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 - $basearchbaseurl=http://package.perforce.com/yum/rhel/7/x86_64/enabled=1gpgcheck=1gpgkey=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
配置实现后有以下提醒:
3.2 Helix Server权限配置
super权限的用户执行以下命令给gconn-user用户须要的权限:
p4 protect
而后在权限表减少一行:
list user gconn-user * //...
其它用户如须要操作graph 仓库,须要调配相应权限:
p4 grant-permission -d graphDepotName -u username -p adminp4 grant-permission -d graphDepotName -u username -p create-repop4 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 <command> git@ConnectorHost:graphDepotName/repoNamehttps:git <command>
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字段定义仓库到本地的映射:
创立完工作区后,应用以下命令就能够更新gragh仓库的最新内容到本地:
p4 sync //graphDepotName/repoName/...
也可在p4v上拉取最新:
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切换:
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 -mgit push git@ConnectorHost:graphDepotName/repoName
执行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