(注:博客图片显示不清晰,详细可见附件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、 配置邮箱
邮箱为你的华为邮箱,例如:[email protected](华为邮箱),在命令行输入:
$ git config --global user.email "[email protected]" |
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、 生成新的密钥,此步骤需要你的华为邮箱,如[email protected],在命令输入:
ssh-keygen -t rsa -C "[email protected]" |
注意:上面命令行中的“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://[email protected]: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/#/)
标签:Git,指导,huawei,点击,git,https,CodeHub,com From: https://www.cnblogs.com/gongxianjin/p/17630922.html