从零开始 v2.0。我应该继续使用现有的 git 仓库还是启动一个新的仓库?

10

我有一个 Git 仓库,其中包含所有 1.x 发布版本的代码。现在我开始着手开发 2.x "分支"。由于我要完全从头开始编写代码(1.x 和 2.x 之间没有联系),所以我想知道 2.x 是否真的是一个实际的分支,或者是否应该为此完全创建一个新的存储库。

想知道每种解决方案的优缺点。我可以想象从 1.x 分支切换到 2.x 分支会花费相当长的时间。


2
如果 2.x 在代码上与 1.x 完全没有关系,那么它们就不是“同一个应用程序”。在同一个代码库中跟踪它们没有任何意义,你能从中得到什么好处呢? - Mat
2
这正是我自己在问的问题。从产品和功能的角度来看,它是相同的应用程序,但从代码的角度来看却不同。 - znq
2个回答

10

3
我通常喜欢将同一项目的不同版本存储在同一个代码库中。
例如,我创建了一个经典 ASP 项目,并在 SVN 下管理多年。接着我把这个项目从 SVN 迁移到了 PHP + Git,最后又迁移到了 Ruby + Git。实际上,这三个版本是完全重写的,因为我已改变了代码背后的技术,但所有内容都在同一个代码库中。
如果需要,我甚至可以决定检出一个非常旧的版本。
使用独立的代码库也有减少代码库大小的优点,但是 Git 具有非常高效的压缩算法(例如与 SVN 相比),我曾经看到 800MB 的 SVN 代码库在 Git 中压缩后小于 100MB。
老实说,我认为这只是个人口味问题。
使用独立的代码库可以减小代码库的大小。
将不同版本的项目存储在同一个代码库中,可以保持整个项目的历史记录在同一个地方。您甚至可以为版本打标签,以方便快速切换。最后但并非最不重要的,如果在不同版本之间重复使用资源,则 Git 能够优化并仅存储一次。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接