Skip to content

v3_CN_Git

winlin edited this page Jan 6, 2022 · 8 revisions

HOME > CN > GIT Repository

GIT

Note: 如果觉得Github的Wiki访问太慢,可以访问 Gitee 镜像。

如何选择SRS的稳定版本?如何更新代码?

Fast Checkout

很多人希望缩减仓库大小,很多doc和3rdparty中的第三方代码压缩包。我在这里集中说明一次,为何需要把doc收集那么全?这个不言自明,srs中23%的代码都是注释,注释会说明是哪个文档的哪一页,难道还需要再下载一次这个文档吗?为何需要把依赖的第三方代码放进来,譬如ffmpeg和nignx还有openssl?再去下载这些相关的程序会比较麻烦,而且对于新手来说,下载正确的版本和编译都是比较复杂的问题。为了好用,大一点的仓库我觉得而是可以接受的。

为何不做这些改变?这些是次要复杂度,仓库多大对于代码质量没有任何影响。而且更重要的是,国内很多git镜像站点,SRS是同步更新的,阿里云提供服务的oschina,我git clone一次是40秒左右。这个问题就变成一个小问题了。

如何使用国内镜像站点clone,然后把服务器设置为github上?这样和直接从github上clone一模一样了。执行下面的命令就可以了:

git clone -b 3.0release https://gitee.com/ossrs/srs.git && 
cd srs && git remote set-url origin https://github.com/ossrs/srs.git

其他国内镜像参考:https://github.com/ossrs/srs/tree/develop#mirrors

Checkout Branch

有些功能只有SRS2.0有,SRS1.0没有,请注意看wiki是v1还是v2的。

如果是1.0的功能,更新代码后要改变到1.0分支:

git pull && git checkout 1.0release

如果是2.0的功能,更新代码后要改变到2.0分支:

git pull && git checkout 2.0release

如果是3.0的功能,更新代码后要改变到3.0分支(没有单独的3.0release分支就是develop):

git pull && git checkout develop

SRS Branches

稳定的SRS版本会新建branch,譬如1.0release,或2.0release。1.0release是1.0的release,有最新的bug fix。

Master分支目前用做了链接和说明。

所以稳定度 2.0release/1.0release >> develop.

Get SRS Code

注意:中国国内访问github慢,可以使用oschina或csdn镜像,参考下面的其他镜像。

你可以从github获取SRS的代码,需要先安装git(如何安装git可以百度下)。

安装好git后,执行以下命令获取SRS最新代码:

git clone https://github.com/ossrs/srs

其他镜像git地址: https://github.com/ossrs/srs/tree/develop#mirrors

Update SRS Code

SRS包含的软件很多,不需要额外下载其他的包就可以编译。所以第一次从github上下载后,不需要每次都git clone,用以下命令即可更新:

git pull

另外,不需要删除objs后编译srs,只需要make就可以编译。若make出错,则执行configure之后再make,可能有配置项更新。

Fetch and Push

具体参考:Pro Git

Patch

可以生成patch后发送邮件给winlin at vip.126.com,例如针对SRS2的patch:

git format-patch origin/2.0release

Winlin 2014.3

Welcome to SRS wiki!

SRS 5.0 wiki

Please select your language:

SRS 4.0 wiki

Please select your language:

SRS 3.0 wiki

Please select your language:

SRS 2.0 wiki

Please select your language:

SRS 1.0 wiki

Please select your language:

Clone this wiki locally