关于 【pre-releases】的一些见解

主分支master

代码库有且只有一个master分支,用于保存正式版本对应的tag,并不用于version的发布。

开发分支dev

remote端必须存在一个dev分支,主要用于项目功能的开发以及多个开发者之间代码的同步。另,不允许直接将dev分支的代码merge到master分支上。

测试分支Pre-Release

remote端在适当的时候应该存在一个Pre-Release分支,其主要功能是打上tag以提交到测试组进行测试、测试结果bug的修复以及测试通过之后的version的发布。dev、Pre-Release、master分支关系如下:

当某一版本的功能开发完毕时,由dev分支checkout出Pre-Release分支,并打上tag提交到测试组进行测试,tag的格式为:TEST-$(VersionName)-$(TestTime),其中VersionName为版本名,TestTime为该版本的第几次测试,测试的tag由指定的一位负责人进行标示。当一轮测试完成之后,开发者在Pre-release分支进行bug的修复。修复完bug之后负责人打上对应tag并提交到测试组进行新一轮的测试,并将此分支merge到dev分支。当该版本的测试通过之后,在对应的tag上打出release的包进行线上验证,只有线上验证通过之后,才允许将Pre-Release分支的代码merge到master分支。

注意:将Pre-Release分支的代码merge到master的时候,需添加–no-ff参数,以在master分支生成一个commit;当一个版本的发布之后,可以将remote端对应的Pre-Release分支删除。

修复分支fixbug/hotfix

当项目发布之后,如果发现某个version有bug,则在master对应的tag上checkout出fixbug/hotfix分支来进行bug修复,fixbug/fotfix分支本质上跟Pre-Release分支类似,需要修复bug之后打对应的tag提交到测试组,通过测试之后根据情况打出version或patch。fixbug/hotfix与dev和master分支的关系如下:
-----------------------------------
 

fixbug/hotfix分支的最终是否删除也需要视情况而定:

a. 如果在该version后续的version中都存在该bug,但是并不影响项目的主流程,则可以将该分支的提交cherry-pick到dev分支,并将该分支merge到master以发布一个小版本的更新,最后可删掉对应的fixbug分支。

b. 如果在该version后续的version中都存在该bug,且影响到项目的主流程,则应该将该分支的提交cherry-pick到dev,并合并代码到master,同时根据该hotfix分支打出相应的patch进行发布,以及发布对应版本更新,而对应的hotfix分支,则不能删除。

c. 如果只是某个旧版本存在该bug,则且影响到主流程,则应该根据hotfix分支打出对应的patch进行发布,以及对应的hotfix分支不能删除。

 

<think>好的,用户之前遇到了无法安装sox的问题,我提到了可能需要更换软件源到old-releases.ubuntu.com。现在用户询问关于这个域名的介绍。我需要详细解释old-releases的作用、使用场景和注意事项。 首先,用户可能使用的是旧版Ubuntu系统,官方停止支持后,常规软件源无法访问,导致安装失败。用户可能不太清楚如何更换源,或者担心安全性。需要说明old-releases是官方维护的,相对安全,但最好升级系统。 接下来要分步骤说明:何时使用、如何配置、注意事项。可能用户需要具体的操作步骤,比如修改sources.list文件,替换URL。同时要提醒长期使用旧源的风险,建议升级系统。 还要考虑用户的技术水平,是否需要更简化的指导,比如给出具体的命令示例,或者建议使用图形界面工具。同时,用户可能担心手动修改源会出错,需要提示备份文件。 最后,确保回答结构清晰,用列表和代码块展示步骤,便于用户理解。同时检查是否有遗漏点,比如如何处理依赖问题,或者遇到错误怎么办。</think>--- `old-releases.ubuntu.com` 是 Ubuntu 官方维护的一个存档仓库,专门托管**已结束官方支持(EOL)的旧版本 Ubuntu 系统**的软件包和更新。以下是关于它的详细介绍和使用场景: --- ### **1. 为什么需要 `old-releases.ubuntu.com`?** - **官方支持周期结束**:Ubuntu 每个版本有固定的支持周期(通常普通版本为 9 个月,LTS 版本为 5 年)。过期后,官方会从主仓库(`archive.ubuntu.com`)移除软件包。 - **用户未升级系统**:如果系统未升级到新版本,且需要继续安装软件或安全补丁,需切换到 `old-releases` 仓库。 --- ### **2. 适用场景** - 系统版本已过期(如 Ubuntu 14.04、16.04 等)。 - 运行 `sudo apt update` 时出现 `404 Not Found` 或 `Failed to fetch` 错误。 - 需在旧系统中临时安装软件或依赖。 --- ### **3. 如何配置 `old-releases` 源?** #### **步骤 1:备份原有源列表** ```bash sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak ``` #### **步骤 2:修改 `sources.list`** - 使用编辑器(如 `nano`)打开文件: ```bash sudo nano /etc/apt/sources.list ``` - 将所有 `archive.ubuntu.com` 替换为 `old-releases.ubuntu.com`,例如: ```bash # 原始行 deb http://archive.ubuntu.com/ubuntu/ trusty main restricted # 修改后 deb http://old-releases.ubuntu.com/ubuntu/ trusty main restricted ``` #### **步骤 3:更新软件源** ```bash sudo apt update ``` --- ### **4. 注意事项** - **非官方支持**:`old-releases` 仓库仅提供历史存档,**无安全更新**,长期使用存在风险。 - **推荐升级系统**:尽快将系统升级到[受支持的版本](https://ubuntu.com/about/release-cycle)。 - **依赖兼容性**:旧仓库中的软件可能与新硬件或现代库不兼容。 --- ### **5. 替代方案** - **手动下载 DEB 包**:通过 [Ubuntu Packages Search](https://packages.ubuntu.com/) 搜索并手动安装。 - **容器化隔离**:使用 Docker 或 LXC 运行旧版系统环境,避免影响主机。 --- 如果需要更具体的操作帮助(如替换某个版本的软件源),请提供你的 Ubuntu 版本号(通过 `lsb_release -a` 查看)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值