点击新建合并请求后,需要进行源分支名的选择,目标分支名的选择,标题输入,以及简要说明修改点等操作( 注意:合并标题格式为[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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。