【教程】MindSpore开源社区提交PR

1.        成为 contributor 贡献者

 

1.1.      git clone 开发仓到本地 (例如mindvision仓)

 

注意这里是 clone 自己的工作仓,输入以下命令:

>>> git clone https://gitee.com/xxxxx/mindvision.git

1.2.      rebase 更新本地仓

刚才的操作已经把 gitee 上个人仓的代码拉取到本地,为了保证代码是最新的,我们先来添加主仓,方便同步更新代码:

>>> git remote add upstream https://gitee.com/mindspore/mindvision.git

 

这就把远端主仓添加到 upstream 里面了。然后使用命令 git rebase:

>>> git rebase upstream/master

 

详情参考https://www.cnblogs.com/chercher/p/5587979.html

 

1.3.      修改本地文件

1.3.1.            添加自己邮箱(举例)

 

打开 mindvision/mindvision/poseestimation 文件夹里面的 README.en.md,在本地对 Readme.en.md 把自己的邮箱和名字添加到 Contributors 里面, 如在ZOMI(chenzomi12@gmail.com)  下面新增一行,直接添加”邮箱”。修改后保存:

 

冲突是因为修改同一行或者附近代码所导致的,所以同学们可以在 ## Contributors下面 gitee 账号信息处上面或者下面添加都行。

如何解决冲突见文末

 

2.        提交代码到开源项目

 

2.1.      将修改上传到然后合并到自己的仓

 

用 git status 查看修改的内容, 可以看到我们修改了 README.en.md:


>>> git status

接下来要把我们自己的修改上传到自己的仓使用以下三步就可以,其中-m 后面的是你对前提交的 PR 一个注释,同学们需要注意不能乱写,因为这是开源项目中给其他人看

>>> git add

>>> git commit -m “add contributor XXX"

>>> git  push


: 

2.2.      查看修改内容

 

这时候去看 gitee 上自己的仓库,可以发现内容已经改了。

 

2.3.      提交 Pull Request

 

Pull Request 可以把我们的修改合并到主仓:

 

在自己的仓库里面找到 Pull Request,点击,就会到达下一个页面。创建 Pull Request 在标题和内容里面写上我们提的这个 Pull Request 目的是什么。可以方便我们之后很快的溯源。

20210924-144201(WeLinkPC).jpg

写完以后点下面的 create 就可以啦,之后就到了这个页面。

 

会有华为的工程师帮我们审核通过,那我们就可以加入主仓的 contributor 了。

  同学们注意左上角显示合入才算真正合入,到目前为止只是提交成功。以下红色框内 merged 是已经合入的标志。

 

3.        签署 CLA

 

第一次提交完代码后,会在 pulls 页面显示标签 mindspore-cla/no,表示我们还没有签署 CLA,CLA 是参加开源项目的电子证明。

为了让参加开源项目的每一个同学都有一个记录,方便后续简历写上参加 XXX 开源项目,我们要求每个同学都点击进去链接里 https://www.mindspore.cn/icla。同时,PR 下面的评论 I-robot 会提醒点击签署 CLA 协议:

 

 接着看到这个页面,按照步骤执行就可以啦:

20210924-145154(WeLinkPC).png

    值得注意的是,同学们需要注意你们 git config 查看你们 git 操作绑定的邮箱,是不是 CLA签署的邮箱,如果不是那么会显示签署不成功。评论/check-cla 就可以看看自己是否签署成功。

 

其他:解决冲突

如果遇到冲突,可能是已经有同学先合入代码了,这个时候你就需要先把你个人仓先更新一   下。更新方法是:

>>> git remote add upstream https://gitee.com/mindspore/mindvision.git

 

这就把远端主仓添加到 upstream 里面了,然后使用命令 git merge:

>>> git rebase upstream/master

 

解决完冲突就可以重复 2.2 和 2.3 步上传了,

 

详情参考 https://www.cnblogs.com/chercher/p/5587979.html

 

 

其他:提交只有一个commit

 

 

为了开源规范和方便审核,注意提交的时候只能有一个 commit

 

如果提交的多次的话,可以使用 rebase 去合并 commit,详情参考下面链接:

https://jingyan.baidu.com/article/27fa73268a6cec46f8271fab.html

posted @ 2021-12-30 19:49  MS小白  阅读(290)  评论(0)    收藏  举报