点击新建合并请求后,需要进行源分支名的选择,目标分支名的选择,标题输入,以及简要说明修改点等操作( 注意:合并标题格式为[SPONG]+内容 )
在新建合并请求的右下角需进行关联Issue操作,每个合并请求的合入都要有对应的Issue,如果没有相关的Issue,可以自行创建,请记得关联完Issue后将(合并后关闭提到的Issue)前面勾勾取消,然后点击创建合并请求操作
对于贡献者来说,如果需要新增门禁冒烟测试用例来维护自己代码功能,可以在代码目录的mindscience/tests/st下,新增测试用例代码,这样可以保证其他人合入代码时不会影响自己代码功能( 注意:测试用例运行时间必须尽量短,受设备资源限制,太久的用例不适合作为门禁用例看护 )
系统级测试用例,此阶段的用例是在whl包安装完成后启动,因此可以调用whl包中的任何函数,需要注意,系统级测试用例中需要添加(import pytest),并且在函数入口处新增pytest的标识,该标识可以使门禁任务识别到函数入口
安装完成后
git config --global user.name "abc"
git config --global user.email abc@tbs.com
代码提交流程为:本地代码---->push到远端自己仓_分支(Fork的仓即可以作为自己的远端仓)---->提起PR请求合入主仓_分支
采用git clone + 代码仓链接方式拉取代码,代码仓路径在gitee仓代码目录的右上角,有个克隆/下载按钮,点击后可以复制HTTPS或者SSH链接,即为clone所需的代码仓路径链接
git clone 代码仓链接
git clone -b 分支名 代码仓链接
例如:git clone https://gitee.com/mindspore/mindscience.git
一般代码操作都是针对仓中的某个分支进行,因此在git下面主要的操作都有两个参数:仓+分支,如果不加分支名,默认对master分支进行操作
仓信息查询以及添加:
a、在代码目录中使用git remote -v就可以看到添加的远端仓地址和名字,后续操作仓便可以直接使用名字代替
b、如果有多个仓需要操作,可以使用git remote add + 仓名(例如master) + 代码仓路径便可以添加新的仓
git remote -v
git remote add 仓名 仓地址
例如:git remote add master https://gitee.com/xxxxxxx/mindscience.git
分支信息查询
a、使用git branch -a可以看到clone代码仓的分支名字以及本地分支名
b、如果还想继续从远端拉分支可以使用git fetch 仓名 远端分支名:本地分支名,这样会将远端对应分支名下面的代码拉到本地命名分支下
c、既然有了新的分支,那我们如何切换呢?可以使用git checkout + 本地分支名将代码切换为相应分支下面的代码(注意:当所在分支有修改点未保存时切换会报错,因此需要先将修改点保存或者放弃修改点再进行分支切换操作
git branch -a
git fetch 远端仓名 远端分支名:本地分支名
git checkout 本地分支名
git status
git add .
git add 文件名路径
git checkout -- 文件名路径
git commit -s
git log
git rebase -i commit_id
本地代码想同步仓代码时,如果本地没有修改也没有新增commit_id的话,此时直接用git pull 仓名 仓分支名即可
如果本地代码有修改,并且保存了commit,此时想要同步主仓并且保留修改点时建议使用git pull --rebase + 仓名 + 仓分支名,这样同步代码的好处是:先将本地未修改前的代码同步仓上代码再自动加入本地的修改点
git pull 仓名 仓分支名
git pull --rebase 仓名 仓分支名
冲突解决:
1、git status会显示主仓代码和自己代码同时修改的文件
2、进入该文件,可以搜索“<<<<<<<"这样的符号标识
3、"<<<<<<<commit"到”============“标识下面的代码即为主仓上面的代码
4、”============“到”>>>>>>>commit_id"标识下面的代码为本地修改
5、此时需要识别是保留主仓修改,还是保留本地修改,亦或是合并两者的修改点
6、所有冲突文件以及冲突点都修改完成后,使用git add .保存
7、使用git rebase --continue继续同步下一个commit,如果在同步仓代码前已经把本地修改的commit合并成一个的话,那么这里只需要执行一次命令即可
git status
git add .
git rebase --continue
git rebase --abort放弃同步
例如:现在存在A用户和B用户,同时clone了主仓的代码
1、A用户修改了部分文件并且提交到主仓
此时如果B用户只是clone过主仓代码但是没有任何修改点,没有添加任何commit,可直接使用git pull操作
2、A用户修改了部分文件并且提交主仓
此时B用户本地也修改了同一个文件,并且提交PR时显示有冲突,那么此时需要使用git pull --rebase 仓 分支名进行手动解决冲突后,git add .保存修改,并使用git rebase --continue继续操作
git push 远端仓名 本地分支名:远端分支名
git push 远端仓名 本地分支名:远端分支名 -f
git format-patch -i commit_id
git apply --reject xxxxx.patch
git cherry-pick commit_id
git commit --amend
git reset --hard commit_id
Dear OpenI User
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.
For more agreement content, please refer to the《Openl Qizhi Community AI Collaboration Platform Usage Agreement》