【开发环境配置指导】Git和CodeHub配置指导

(注:博客图片显示不清晰,详细可见附件word文档)

1   Git工具安装及配置

1.1 Git安装

1、 点击如下链接进入到Git下载页面;

http://3ms.huawei.com/hi/index.php?app=group&mod=File&act=showList&gid=2031557

2、 找到最新的TortoiseGit-xxx.zip(可视化工具)及Git-xxx.zip(命令行工具),选择适合自己电脑位数的安装包点击进行下载;(目前最新的为Git-2.28.0、TortoiseGit-2.10.0.2)

3、 安装时可以默认下一步即可;

Linux系统可以使用一键安装脚本:

wget -N http://10.21.7.188:8081/isource/git/install.sh && bash -x install.sh

注意:如果使用https仓库地址进行下载,安装Git后需要手动添加公司的CA证书。参见:http://3ms.huawei.com/hi/group/2031557/thread_7838842.html?mapId=9632464&for_statistic_from=all_group_forum

 

1.2 Git基本配置

(官方参考:https://gitlab.huawei.com/help/huawei/Git/GitBasicConfiguration.md

本章节操作均在命令执行,需要Git安装章节完成Git命令行工具安装后,鼠标右键选择“Git Bash Here”调出git命令行后进行操作,如下图所示:

 

1、 配置用户名和邮箱(必须配置)

用户名是全名+工号,例如:zhangshan 00123456,在命令行中输入:

$ git config --global user.name "zhangshan 00123456"

2、 配置邮箱

邮箱为你的华为邮箱,例如:zhangshan@huawei.com(华为邮箱),在命令行输入:

$ git config --global user.email "zhangshan@huawei.com"

3、 检查配置

最后检查user.name及user.email是否配置正确:

$ git config –l

4、 取消换行自动转换配置:有利于代码下载到win或linux时不自动转换行符,与git仓库上面换行符保持一致。在命令行输入:

$ git config --global core.autocrlf false

$ git config --global core.fileMode false

5、 中文显示乱码设置:配置了中文不会显示乱码,在命令行输入:

$ git config --global i18n.commitencoding utf-8

$ git config --global i18n.logoutputencoding utf-8

$ export LANG=en_US.UTF-8

1.3 生成个人公钥

在生成个人公钥之前,必须先完成git基本配置操作,己经配置过请忽略。此章节的命令均需要在Git Bash中运行(Git命令行工具安装成功后,鼠标右键选择“Git Bash Here”)

1、 生成新的密钥,此步骤需要你的华为邮箱,如zhangsan@huawei.com,在命令输入:

ssh-keygen -t rsa -C "zhangsan@huawei.com"

注意:上面命令行中的“C”是大写的,执行过程中一直按回车,完成后再本机系统C盘下,用户文件夹中有一个.ssh文件夹(C:\Users\工号\.ssh),其中id_rsa.pub文件里储存的即为刚生成的ssh公钥,id_rsa文件里储存的即为刚生成的ssh私钥。此时,需要把刚生成的id_rsa.pub文件里的公钥添加到codehub平台(详见下节说明)。

(https://codehub-y.huawei.com/profile/keys)

2、 如果使用TortoiseGit下载和上传操作,可共用Git生成的密钥,需修改以下配置,右键鼠标选择TortoiseGit->settings->Network->把SSH client的路径改成Git命令行工具安装目录的ssh.exe

1.4 添加公钥到codehub平台

(官方参考:https://gitlab.huawei.com/help/huawei/Git/devssh.md

1、 登录codehub-y平台,https://codehub-y.huawei.com/

2、 在系统右上角,点击自己的头像,选择Settings;

3、 点击“SSH Key”选项进入到公钥添加页面;

4、 在下图所示框Title中输入一个key对应的标题名(名字或者邮箱号即可),key中粘贴文件C:\Users\工号\.ssh\id_rsa.pub中的内容,勾选同意,点击“Confirm”完成添加;

2   Fork项目远端代码到个人远端仓库

说明:Fork开发模式下,需要将远端主库代码fork到远端个人仓库,具体流程说明及特点见:https://docs.codehub.huawei.com/ch/user_guide/develop_model/fork.html

以MediaStorageService为例

1、 进入到https://codehub-y.huawei.com/mindx_edge/atlasservicewarehouse/MediaStorageService/files?ref=master;

2、 点击页面右上角的Fork标志,在弹出的页面选择个人,点击“Confirm”即可(如果在原GitLab Fork过,则会默认同步过来,因此不用再Fork,个人分支已存在);(建议勾选“Sync push rules”)

3、 添加CI需要的公共账号;

(公共账号(pAtlasCIAccount)和pOSCIE以及picleancode添加deceloper权限)

点击“Members”,按照下图设置后点击“Save”;

2.1 配置Push Rules

1、 点击Policy setting,点击Push Rules进行设置;

2、 Commit message填写如下内容

【单号】\s*.+\W【修改说明】\s*.+\W【合入版本】\s*.+

3、 勾选 Enable binary file gate,设置二进制拦截规则:

\.doc|\.docx|\.xls|\.xlsx|\.xlsm|\.ppt|\.pptx|\.xlsc|\.vsd|\.emz|\.vss|\.pdf|\.jpg|\.jpeg|\.gif|\.png|\.bmp|\.ico|\.wav|\.mp3|\.mp4|\.avi|\.3gp|\.ogg|\.dsw|\.dsp|\.suo|\.ncb|\.rc|\.rc2|\.plg|\.opt|\.odl|\.clw|\.aps|\.ism|\.dfm|\.chm|\.hdx|\.hlp|\.html|\.htm|\.xml|\.asp|\.jsp|\.js|\.res|\.cur|\.license|\.cer|\.der|\.certification|\.key|\.keystore|\.scan

4、 点击 “Submit”保存设置;

 

3   代码修改及上库

3.1   代码下载

3.1.1  通过Git Bash下载

1、  进入个人远端仓库(https://codehub-y.huawei.com//工号/项目名称,如:https://codehub-y.huawei.com/c00456604/MediaStorageService/files?ref=master),点击右侧导航栏的“Clone/Download”,再点击复制按钮,复制代码仓地址;

2、  选择存储代码的文件夹,鼠标右键选择“Git Bash Here”调出git命令行后,执行如下命令下载代码到本地,标黄的为上述复制的代码库地址;

git clone ssh://git@codehub-dg-y.huawei.com:2222/c00456604/MediaStorageService.git

3.1.2  通过TortoiseGit客户端下载

1、  进入个人远端仓库(https://codehub-y.huawei.com//工号/项目名称,如:https://codehub-y.huawei.com/c00456604/MediaStorageService/files?ref=master),点击右侧导航栏的“Clone/Download”,再点击复制按钮,复制代码仓地址;

2、  选择存储代码的文件夹,鼠标右键选择“Git Clone…”,URL处填写上述复制的仓库地址,Directory填写代码下载的本地路径(默认是当前路径,也可以修改为其它需要的路径),完成后点击OK下载代码到本地;

3.2   修改代码及本地构建

按照自己的需求在本地修改代码并进行规范检查。

3.3   提交代码到个人远端仓库并进行个人级构建

3.3.1  通过Git Bash操作

1、  进入到代码文件夹后,鼠标右键,选择“Git Bash Here”,打开命令行

2、  执行git status可以查看当前修改情况

git status

3、  执行git add 有变更的文件路径(对应git status命令中列出的路径)

git add 变更文件的路径

4、  执行git commit提交到本地仓库,注意此步骤中,日志格式必须按照“配置Settings-Policies”章节中第2步配置的日志格式一致,否则push到远端仓库会失败

git commit

5、  执行git push推送到远端仓库

git push

详细指导可参考:https://gitlab.huawei.com/help/huawei/develop/devFork.md

3.3.2  通过TortoiseGit客户端操作

1、  在代码文件夹,鼠标右键选择“Git Commit -> master”

2、  在弹出的对话窗口中,Message框填写提交日志,日志格式必须按照“配置Settings-Policies”章节中第2步配置的日志格式一致,否则push到远端仓库会失败,点击“确定”

例如:

【单号】UADPXXXXX;UADPXXXXX;DTSXXXXX

【修改说明】修改内容描述

【合入版本】XXXXXX

 

3、      可以在点击commit后弹出的框中点击“推送...”

 

3.4   合并修改到项目远端仓库(提交MR请求)

1、  打开个人项目远端仓库,如 https://codehub-y.huawei.com//工号/项目名称

2、  点击页面导航的“Merge Requests”, 再点击“New now”,创建merge请求

3、  在弹出的页面中,左侧选择个人仓库及分支,右侧选择项目的仓库及分支,点击“Next step”,进入MR详情页面

4、  在MR详情页面,填写Titile、Description等信息,然后点击页面下方的“Confirm”提交merge请求;

字段名称

填写信息

Title

Merge request的标题,一般填写需求或问题信息,如【问题单号 Defect】UADPXXXXXXX

注意:需求/问题单是自动提取的,并且页面无法修改,切记需求/问题单号一定填写正确,【问题单号 Defect】后面不能添加多余的符号。自动提取规则:是以提取规则前缀后面开始提取)

Description

填写具体描述,如:

【修改说明】修改内容描述

【合入版本】XXXXXX

Assignee(s)

填写本项目的committer

Reviewer(s)

填写检视人员

注意:如果项目已经通过Review Rules配置把所有人加入optional中,那么这些人就都可以检视。除非要添加项目组外其他检视人员,否则此字段不需要填写

 

5、  也可通过HiCode工具提交,填写信息和网页相同;(下载地址:https://hicode.huawei.com/#/

posted @ 2023-08-15 11:36  易先讯  阅读(21)  评论(0编辑  收藏  举报