以我参与过的开源项目举例dolphinscheduler说明
1 进入https://github.com/apache/incubator-dolphinscheduler,点击fork按钮,clone一份到自己的github上。
此时本地还没有本地github代码。
2 cmd 进入要放代码的目录执行,将代码clone到本地。
git clone git@github.com:apache/incubator-dolphinscheduler.git
3 执行
git remote -v
只看到返回时两个origin分支
origin git@github.com:samz406/EasyScheduler.git (fetch)
origin git@github.com:samz406/EasyScheduler.git (push)
4 添加远端仓库地址,命名为upstream,
git remote add upstream git@github.com:apache/incubator-dolphinscheduler.git
在执行git remote -v 可以看到,远程仓库
rigin git@github.com:samz406/EasyScheduler.git (fetch)
origin git@github.com:samz406/EasyScheduler.git (push)
upstream git@github.com:apache/incubator-dolphinscheduler.git (fetch)
upstream git@github.com:apache/incubator-dolphinscheduler.git (push)
5 获取/更新远端仓库代码(已经是最新代码,就跳过)
git fetch upstream
6 切换分支,合并本地分支和源分支
git checkout origin/dev
git merge --no-ff upstream/dev
7 如果同步远端仓库新分支alert_plugin_design到本地仓库, 先checkout本地,再push到自己的github仓库
git checkout -b alert_plugin_design upstream/alert_plugin_design
git push --set-upstream origin alert_plugin_design
8 修改文件后,转换如下命令提交代码到个人仓库
git add .
git commit -m 'add ut'
git push
本地代码同步的个人仓库,现在需要创建pr合并到远端仓库。
9 进入自己的github仓库,选择new pull request 按钮
10 选择分支。选择 Create pull request
12 填写本次提交信息。选择 Create pull request,pr就创建成功了。
注意title 有格式要求,具体详见社区
创建完成后。会触发CI做些代码扫描和测试用例覆盖检查。没检查通过,需要自行修改。并重新提交
检查通过后,社区contributor或commiter review代码。如果有问题,修改后重新提交。如果没问题,committer会回复+1表示同意合并。
合并代码最少要两个+1同意,才能merge 代码。
资料: