首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在单独的存储库中进行软件开发中的主要版本步骤

在单独的存储库中进行软件开发中的主要版本步骤
EN

Software Engineering用户
提问于 2015-11-29 13:34:55
回答 2查看 863关注 0票数 2

目前,我们正计划将软件版本从5.x.x转换为6.x.x。在我们的例子中,这样的主要版本包含了大量的重构工作和软件体系结构的改变。我没有为version 6 (git)创建一个新分支,而是为此创建了一个自定义存储库。一般来说,开发新版本的基础是旧版本,因此它将是一个副本。

我的问题是,开发版本5不会停止,因为bug修复和一些小的更改将被完成。但是现在我有了两个版本,在两个独立的存储库中。在没有复制代码或两次工作的情况下,对这两种情况进行更改的最佳方法是什么?有没有什么有效的方法?

也许其他人以前也有同样的问题。

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2015-11-29 13:50:09

处理此场景的一种常见方法是使用主干/分支概念。您所做的是拥有一个存储库,并出于维护的原因将5.x.x版本进行分支。然后将所有新的6.x.x更改放到后备箱中。这样,您就可以维护代码的所有版本历史。这还允许您签出旧版本,并在不影响主干的情况下进行目标修复。

如下所示:

代码语言:javascript
运行
复制
                                                |------branch (5.x.x)
                                                |
----------------------------------------------------------------------Trunk (6.x.x)

然后,如果您需要一个7.x.x版本,您可以再次这样做:

代码语言:javascript
运行
复制
             |------branch (5.x.x)
             |                             |---branch (6.x.x)
             |                             |
---------------------------------------------------------Trunk (7.x.x)
票数 8
EN

Software Engineering用户

发布于 2015-11-29 13:52:28

有几种解决方案与git一起使用。在这种情况下,我获得了使用git-worktree的良好经验。摘录自手册页:

代码语言:javascript
运行
复制
Manage multiple working trees attached to the same repository.

A git repository can support multiple working trees, allowing you 
to check out more than one branch at a time. With git worktree add
a new working tree is associated with the repository. This new working
tree is called a "linked working tree" as opposed to the "main working
tree" prepared by "git init" or "git clone". A repository has one main
working tree (if it’s not a bare repository) and zero or more linked
working trees.

这里有一个完整的副本:https://git-scm.com/docs/git-worktree

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/303835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档