HowToFilePR
欢迎给SRS贡献代码,请先阅读这个说明。
Rules
- 请不要使用你的
develop
分支,请使用bugfix/bug-summary
,每个PR一个独立的分支。 - 若需要更新PR,请不要关闭之前的PR,不必新开PR,只需要提交到你自己的
bugfix/bug-summary
分支,PR会自动更新。 - 请不要夹带无关的代码,一个PR解决一个问题,或者支持一个功能,请不要夹带其他的有干扰的代码。
- 请花时间学习Pro Git,掌握GIT是非常必要的能力。
File New PR
下图是提交到develop
或其他分支的工作流:
Step 1: Fork SRS
请打开ossrs/srs,点击Fork
,复制到你账号的仓库。
Step 2: Clone你的项目
git clone git@github.com:your-account/srs.git
git checkout -b master origin/master
cd srs
Note: 请设置好你的GIT的配置项目
user.name
和user.email
。
Step 3: 将SRS添加到remote源
git remote add srs https://github.com/ossrs/srs.git
git fetch srs
Step 4: 在提交PR前,同步SRS的代码
git fetch --all
Step 5: 为PR创建一个新的分支
git checkout -b bugfix/bug-summary srs/develop
Note: 请认真给你的分支起一个名字,例如
bugfix/rtc-listen-ipv6
Step 6: 完成编码,并提交到你的仓库
git push -u origin bugfix/bug-summary
Note: 请在代码、注释和Commit中使用英文,请不要使用其他语言,也不要使用中文。
Step 7: 点击这个链接,选择你的分支bugfix/bug-summary
,提交到SRS的develop
分支
Remark: 请确保勾选上了
Allow edits and access to secrets by maintainers
,这样我们可以更新你的PR。
Update Your PR
在Code Review之后,你可能需要更新你的PR,请执行命令:
git checkout bugfix/bug-summary
git commit -am 'Description for update'
git push
Note: 请不要关闭和新开PR,你只需要更新你的分支就可以,PR会自动更新。
Setup Your Email
提交代码前,需要设置你的GitHub: Email,请不要选择选项Keep my email addresses private
,
它会导致你的PR无法显示名字。
请执行下面的命令,设置GIT账号(请换成你的账号):
cd ~/git/srs
git config --local user.name "username"
git config --local user.email "useremail@xxx.com"
git config --list
PR合并后,你就会出现在SRS: Contributors这个列表中了。
TOC: Update PR
Generally, TOC who has write access to SRS also are able to update the PR, please read this post.
Let's take a example of PR #2908:
- Title:
SRT: url supports multiple QueryStrings
- Fork:
https://github.com/zhouxiaojun2008/srs/tree/bugfix/fix-srt-url
- Branch:
bugfix/fix-srt-url
Step 1: Add a remote of PR fork, use SSH to clone the fork repository.
git remote add tmp git@github.com:zhouxiaojun2008/srs.git
Step 2: Update the fork repository, to get the branch.
git fetch tmp
Step 3: Now we got the branch of PR, switch to it.
git checkout bugfix/fix-srt-url
Step 4: Please update the branch, then push to the fork repository.
git push tmp bugfix/fix-srt-url
The PR should be updated automatically.