** 问题三:为开源项目做贡献–如何提PR?**
? 上面我们已经介绍了提交Issue,这对于刚入门的开发者来说是十分容易的,下面我们将介绍一下进阶内容,给开源项目提交PR。提交PR应该属于进阶版内容,因为他是从技术要求、编程能力以及对源码的掌握程度都会有很高的要求,所以这一块内容适合对项目十分熟悉的小伙伴。
? 但如果小伙伴们到了这种程度或者是在使用中对项目源码做了修改使其变得更好,就可以开始向项目提交PR了,不过在提交前要先注意以下几点:
? 在确定了以上问题后,就可以开始提交你的PR了,这里有两种方式可以提交PR,一种是在线直接提交,这种方式适合修改内容较少,不涉及源码修改等;第二种是本地修改后提交,这种方式适合有较大的改动,涉及到源码修改等。
? 通过在 GitHub 中单击它来选择更新,以README.md文件为例:
? 该按钮位于右上角。
? 如果你没有Fork该项目,需要先Fork该项目。
? 此处增加两个🥰符号。
? 修改完文件内容后,点击Commit changes提交更改,并按照更改内容填写日志。
? 修改完该文件后,修改内容只存在于修改者当前分支,需要通过 Pull Request 提交到原作者仓库才可以。点击 Create pull request,创建PR。
? 按要求提交后,等待代码仓库管理人员审核并通过你提交的PR。
找到要提交PR的项目,先将该项目fork自己的代码仓。
? 将需要提交PR的项目克隆到本地,注意此处是克隆你fork到你自己厂库里的项目。打开CMD或者打开Git Bash Here
git clone https://github.com/grape-yan/OpenVINO-CSharp-API.git
? 提交PR时需要.为了防止在主分支上修改影响主分支代码,此处创建一个分支用于代码的修改。
cd OpenVINO-CSharp-API // 切换到项目路径
git checkout -b temp //创建名为temp的分支
git branch //查看已经创建的分支 如图有temp和csharp3.0两个分支
git checkout temp// 切换到分支
? 切换好分支后就可以直接根据自己需求修改项目了,此处你可以做一些必要的修改,但最后要进行测试,不要让你的修改影响到其他代码的性能。
? 将代码修改后,执行git status 命令查看修改了哪些文件,接着使用git add 修改的文件名添加到暂存区,最后使用git commit -m “日志信息” 文件名提交到本地库。
git status // 查看库状态
git add 文件名 // 将修改的文件存放到暂存区
git commit -m "日志信息" 文件名 // 将修改的文件提交到本地库
? 最后将本地项目代码提交到远程GitHub上
git push --set-upstream main mybranch
? 进入GitHub项目,切换到mybranch分支,查看是否修改成功。
? 切换到主分支,将分支mybranch代码合并到主分支,查看是否可以与主分支合并成功。
git checkout main // 切换到主分支
git merge mybranch // 合并派生分支到主分支
? 合并成功后,将主分支推送到代码仓。
git add . // 将修改的文件存放到暂存区
git commit -m "日志信息" // 将修改的文件提交到本地库
git push origin main // 推送到远程仓库
? 在GitHub切换到master主分支,查看是否合并成功
? 进入自己fork的项目中,点击项目中提示的更改。
? 点击Create pull requests
? 最后点击Create pull request,提交后开源人将会收到你的合并请求。
? 好的,到此为止,我们已经完成了提交PR的步骤,后面就等待厂库官方人员审核即可。