KnowStreaming贡献流程
流程 贡献
2023-09-11 14:17:08 时间
文章目录
贡献流程
1. fork didi/KnowStreaming项目到您的github库
找到你要Fork的项目,例如 KnowStreaming ,点击Fork按钮。
2. 克隆或下载您fork的Nacos代码仓库到您本地
git clone { your fork knowstreaming repo address }
cd KnowStreaming
3. 添加 didi/KnowStreaming仓库为upstream仓库
### 添加源仓库
git remote add upstream https://github.com/didi/KnowStreaming
### 查看是否添加成功
git remote -v
origin ${your fork KnowStreaming repo address} (fetch)
origin ${your fork KnowStreaming repo address} (push)
upstream https://github.com/didi/KnowStreaming(fetch)
upstream https://github.com/didi/KnowStreaming (push)
### 获取源仓库的基本信息
git fetch origin
git fetch upstream
上面是将didi/KnowStreaming添加为远程仓库, 当前就会有2个远程仓库
- origin : 你Fork出来的分叉仓库
- upstream : 源仓库
git fetch 获取远程仓库的基本信息, 比如 源仓库的所有分支就获取到了
4. 同步源仓库开发分支到本地分叉仓库中
一般开源项目都会有一个给贡献者提交代码的分支,例如 KnowStreaming的分支是 dev
;
首先我们要将 源仓库的开发分支(dev
) 拉取到本地仓库中
git checkout -b dev upstream/dev
或者IDEA的形式创建
5. 在本地新建的开发分支上进行修改
首先请保证您阅读并正确设置KnowStreaming code style, 相关内容请阅读KnowStreaming 代码规约 。
修改时请保证该分支上的修改仅和issue相关,并尽量细化,做到
一个分支只修改一件事,一个PR只修改一件事。
同时,您的提交记录请尽量描述清楚,主要以谓 + 宾进行描述,如:Fix xxx problem/bug。少量简单的提交可以使用For xxx来描述,如:For codestyle。 如果该提交和某个ISSUE相关,可以添加ISSUE号作为前缀,如:For #10000, Fix xxx problem/bug。
6. Rebase 基础分支和开发分支
您修改的时候,可能别人的修改已经提交并被合并,此时可能会有冲突,这里请使用rebase命令进行合并解决,主要有2个好处:
- 您的提交记录将会非常优雅,不会出现Merge xxxx branch 等字样
- rebase后您分支的提交日志也是一条单链,基本不会出现各种分支交错的情况,回查时更轻松
git fetch upstream
git rebase -i upstream/dev
或者在IDEA的操作如下
选择 源仓库的开发分支
推荐使用IDEA的方式, 有冲突的时候更容易解决冲突问题。
7. 将您开发完成rebase后的分支,上传到您fork的仓库
git push origin dev
8. 按照PR模板中的清单创建Pull Request
选择自己的分支合并到模板分支。
9. 等待合并代码
提交了PR之后,需要等待PMC、Commiter 来Review代码,如果有问题需要配合修改重新提交。
如果没有问题会直接合并到开发分支dev
中。
注: 如果长时间没有review, 则可以多催促社区来Review代码!
相关文章
- 软件测试流程,测试左移,测试右移
- 正常上线的流程
- Atitit 安全流程法 目录 1. 常见等安全措施方法2 1.1. 安全的语言 代码法,编译型 java2 1.2. 安全编码法2 1.3. 安全等框架类库 api2 1.4. 加密法2
- atitit 每季度日程表 每季度流程 v3 qaf.docx Ver history V2 add diary cyar data 3 cate V3 fix detail 3cate ,
- Atitit.每周末总结 于每周一计划日程表 流程表 v8
- Atitit.有分区情况下的表查询策略流程
- paip.输入法编程--英文ati化By音标原理与中文atiEn处理流程 python 代码为例
- Python之Pypi:Pypi的简介、使用方法(如何将自己的Python项目(自定义程序代码库)发布到PyPI全流程的简介)之详细攻略
- 【人工智能 AI 】您可以使用机器人流程自动化 (RPA) 实现自动化的 10 个业务流程:Robotic Process Automation (RPA)
- 【Android 逆向】加壳的 Android 应用启动流程 | 使用反射替换 LoadedApk 中的类加载器流程
- git的一个merge流程
- 5G核心网信令流程 | 5GS会话支持Multi-Homing
- shell脚本if流程控制详解