isource git使用手册 内源那些事
Posted xyhero
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了isource git使用手册 内源那些事相关的知识,希望对你有一定的参考价值。
iSource Git使用 3.0 内源那些事
http://rnd-isourceb.huawei.com/groups/28437/discources/56848
iSource在线帮助目录
http://rnd-isourceb.huawei.com/help/huawei_help/code_support/isource_4
http://rnd-isourceb.huawei.com/help/huawei_help/code_support/Index
1 下载Clone代码
使用Google Chrome浏览器打开iSource开源网页:
在上图鼠标左键点击组织项目
在上图拖动垂直滚动条,找到CGP/CGPV1_Info
点击CGP/CGPV1_Info
点击Code后,点击Fork
在弹出窗口点击头像
等上小会出现下图网页,在网页点击Code
先点击SSH 再 点击 Copy Address
[email protected]:xxxx/xxxx-1.git
在电脑硬盘建立一个存放代码的目录,如下图
在目录里空白区域右击鼠标右键
点击Git Clone…
将刚才拷贝的地址右键粘贴到URL右边的编辑框,下图没有粘贴使用的时之前的地址,有问题。
下图才是正确的
[email protected]:xxxx/CGPV1_Info-1.git
在上图点击OK按钮
提示输入配置GIT时设置的SSH私钥密码
输入密码后点击OK按钮,之后出现下面Clone窗口
Clone完成后,如下图:
点击close按钮关闭窗口,完成代码克隆(从fork的个人仓库下载到本地硬盘并关联起来)。
2 fork clone cgp_v3主库代码 Update Submodule
点击要Fork的CGP_V3
点击上图 红框里的Fork链接
点击 红框里 你名字上面的头像
Fork前要删除 你个人服务器之前fork的字库project
点击 小红框里的 头像
点击 上图 董建国/v3_om 董建国/v3_platform两个链接分别打开
上图点击红框里的Setting
拷贝Name:标签右边文本框里的v3_om
将上面页面滚动到最下面(可按Ctrl+end)
点击delte按钮,之后拷贝v3_om
点击 I understand the … 按钮
再次用Chrome浏览器打开http://rnd-isourceb.huawei.com/d00362054
点击进入董建国/V3_platform
同上面方法,删除董建国/V3_platform Project
删除之后再次fork http://rnd-isourceb.huawei.com/CGP/cgp_v3 主仓库
点击Code SSH Copy Address
本地电脑新建一个存储cgp_v3代码的目录
打开clone到本地的目录目录为空
右击 AS_CGP_VOB目录窗口里的空白区域,点击TortoiseGit->Submodule Update…
出现上图,可到上级目录做次pull,会弹出输入密码对话框,输入密码。
如果om目录图标不出现对号,可以进入到om目录,再回到AS_CGP_VOB目录。
如果SubmoduleUpdate报错,则可以使用fork的子库地址(个人服务器上的地址)来clone代码,如下图:
在改代码之前你需要切换下MASTER分支,然后PULL下。
切换自己的分支到master(如果已经在master分支了就不需要在切换了,如果想强制刷新工作区和本地服务器一致的话哪需要使用此项,并在force处打钩)
3 issue单是在内源 主干上提
4 同步最新代码
【更新主库代码到Fork的个人分支】从主干同步代码到个人Fork的分支
4.1 切换自己的分支到master
个人服务器上可能会有master和多个分支代码。
鼠标右击要更新的本地目录点击 TortoiseGit->Switch/Check out…
如果已经在master分支了就不需要在切换了,
如果想强制刷新工作区和本地服务器一致的话哪需要使用此项,并在force处打钩(这会导致你在本地修改的代码被冲掉被替换掉,要小心)
切换到16.1分支
4.2 从个人服务器向本地同步
使个人本地代码与个人服务器代码保持一致。
鼠标右击要更新的本地目录点击 TortoiseGit->Pull…
下图从个人服务器上给本地pul代码
下图为16.1分支的操作截图
4.3 从主干服务器向本地同步
从主干服务器获取代码变化到个人本地代码
在你的代码主干路径拷贝地址
[email protected]:CGP/cgpv1_info.git
[email protected]:CGP/cgpv1_info.git
[email protected]:CGP/v3_om.git
[email protected]:CGP/cgpv1_up.git
[email protected]:CGP/cgpv1_lifunc.git
鼠标右击要更新的本地目录点击 TortoiseGit->Pull…
拷贝上面地址到下图
下图是16.1版本的,16.1跟3.0都在一个主干库上,3.0是master
[email protected]:CGP/v3_om.git
4.4 Push将本地同步到个人服务器
将个人本地的变化推送到个人服务器
点击 TortoiseGit->Push…
下图是16.1 push示例(16.1与3.0在本地电脑单独目录存储)
5 上传代码修改代码
先做4同步最新代码,之后快速修改完代码,再做下面描述的Commit、PUSH、提交Merge Request。
新增的文件要执行git add操作
5.1 Commit
【问题单号】: DTS2016022204072
【Story编号】: NA
【问题描述】:【11.2 MCCP版本安全测试】【访问通道控制】软件包中存在公网IP地址,需要修改。
【基础版本】:V100R007C00B999
【合入版本】:CGP V100R07C00SPC130T
【修改人】:dongjianguo 00362054
【检视人】:yangbaojun 00214169
【审核人】:yangbaojun 00214169
Signed-off-by: d00362054 [email protected]
下图是16.1 commit
5.2 Push
将本地代码推送到个人服务器
上图是针对16.1版本。
Git远端地址设置(上图origin应该对应的是个人服务器的地址)。
5.3 提交Merge Request请求合入个人服务器代码到主干服务器
通过Chrome浏览器打开自己fork的代码地址:
http://rnd-isourceb.huawei.com/d00362054/
http://rnd-isourceb.huawei.com/d00362054/CGPV1_Info-1
http://rnd-isourceb.huawei.com/d00362054/v3_om
点击下图 Compare branches按钮后,等待几十秒:
Assigh to: 右边选择帮你merge代码的同事
敲#DTS输入关联的DTS单,如果不能带出DTS单信息,则直接输入dts单号。并将下面描述的show log过程copy to clipboard的信息粘贴到这。
点击上图Submit request按钮
提交后将merge request网址发给给你merge的同事。
http://rnd-isourceb.huawei.com/CGP/cgpv1_info/merge_requests/252584
查看commit Log
右击本地目录点击 Show Log
右击后可点击 Copy to Clipboard
Revision: 8ec596f87bb68894437806794728166dadad2d9c
Author: d00362054 <[email protected]>
Date: 2016/2/22 15:10:01
Message:
【问题单号】: DTS2016022204072
【Story编号】: NA
【问题描述】:【11.2 MCCP版本安全测试】【访问通道控制】软件包中存在公网IP地址,需要修改。
【基础版本】:V100R007C00B999
【合入版本】:CGP V100R07C00SPC130T
【修改人】:dongjianguo 00362054
【检视人】:yangbaojun 00214169
【审核人】:yangbaojun 00214169
Signed-off-by: d00362054 <[email protected]>
----
Modified: CNUP_VOB/INFO/onlinehelp/17.mml/cgp_mm/en_US/Document/get_logfile.xml
Modified: CNUP_VOB/INFO/onlinehelp/17.mml/cgp_mm/en_US/Document/uld_almlog.xml
Modified: CNUP_VOB/INFO/onlinehelp/17.mml/cgp_mm/en_US/Document/uld_trcrst.xml
Modified: CNUP_VOB/INFO/onlinehelp/17.mml/cgp_mm/zh_CN/Document/get_logfile.xml
Modified: CNUP_VOB/INFO/onlinehelp/17.mml/cgp_mm/zh_CN/Document/uld_almlog.xml
Modified: CNUP_VOB/INFO/onlinehelp/17.mml/cgp_mm/zh_CN/Document/uld_trcrst.xml
Modified: CNUP_VOB/INFO/onlinehelp/17.mml/en_US/Document/add_ws.xml
Modified: CNUP_VOB/INFO/onlinehelp/17.mml/en_US/Document/lst_onlineop.xml
Modified: CNUP_VOB/INFO/onlinehelp/17.mml/en_US/Document/lst_seclog.xml
Modified: CNUP_VOB/INFO/onlinehelp/17.mml/en_US/Document/lst_user.xml
Modified: CNUP_VOB/INFO/onlinehelp/17.mml/en_US/Document/lst_webosuser.xml
Modified: CNUP_VOB/INFO/onlinehelp/17.mml/en_US/Document/lst_ws.xml
Modified: CNUP_VOB/INFO/onlinehelp/17.mml/zh_CN/Document/lst_onlineop.xml
Modified: CNUP_VOB/INFO/onlinehelp/17.mml/zh_CN/Document/lst_seclog.xml
Modified: CNUP_VOB/INFO/onlinehelp/17.mml/zh_CN/Document/lst_user.xml
Modified: CNUP_VOB/INFO/onlinehelp/17.mml/zh_CN/Document/lst_webosuser.xml
Modified: CNUP_VOB/INFO/onlinehelp/17.mml/zh_CN/Document/lst_ws.xml
下图是16.1版本提交Merge Request示例图
6 一个文件被修改要还原到之前的状态右击文件用revert
7 提交merger request后没有merge,需要修改文件
修改文件后,再次提交commit, 如果跨度时间过长需要再做下同步最新代码。
8 代码分支
9 TortoiseGit->Show Log
10 16.1分支
10.1 Clone代码
再次fork一个v3,之后将fork的分支切换到16.1(前面这段可以不用做);再clone主库到本地硬盘。
下图右击om目录,点击Switch/Check out…
10.2 同步个人服务器代码到本地
右击om目录 pull
10.3 同步主干代码的16.1分支到本地
10.4 Push 同步本地到个人服务器
11 切换补丁分支 5A
http://rnd-isourceb.huawei.com/groups/28437/discources/58705
点击上图Add New/Save
再点击Yes
再点击下图Yes
从主干fetch代码
参照网页第1个步骤,新建一个CGP-Test项,URL填主干路径。
点击OK后再打开Switch/Checkout
Pull个人服务器(默认名字origin)
Pull主干
Push
12 切换分支 Swith/Check out看不到分支
先新建一个主干分支。
之后从CGP主干分支pull代码或者fetch代码,之后push本地代码到自己的个人服务器Origin上。
以后pull只从CGP 主干pull一次。不用pull两次。
CGP 主干 [email protected]:CGP/cgp-imap-om.git
Orgin 个人服务器[email protected]:d00362054/CGP-iMAP-OM.git
新添加trunk主干(URL),点击Add New/Save按钮,之后提示是否fecth,点击是按钮,如下图从主干取17.0分支代码到你的电脑硬盘。
如果无法切换分支,则重新fork,在新fork的本地目录再执行switch/check out
13 V100R007版本无法切换SPC219分支
14 添加CGP-IMAP-OM分支
Setting
Remote
Add
以上是关于isource git使用手册 内源那些事的主要内容,如果未能解决你的问题,请参考以下文章