0

我喜欢为另一个项目重用 GIT 维护项目的一些代码。工作代码是新项目的一个很好的启动,尽管其中大部分将因新需求而过时。所以问题是处理这个问题的最佳实践是什么?

我可以

  • 为新事物创建一个新存储库,然后从旧项目中挑选文件。在剥离代码以匹配新项目所需的基本功能后,进行第一次提交以保持其历史记录中无用的东西。也许需要一些时间来实现这个目标。此外,无法合并旧项目中的增强功能。

  • 分支旧代码并逐步适应它的新工作。这意味着这两个项目将纠缠在一个存储库中,该存储库具有一个名称,一个 GitHub 上的 README 等。

  • 创建新项目,从最小的主要部分和另一个库项目开始,作为旧项目和新项目的公共集合。然而,随着 HTML 和 JS 的开发,这让人很头疼,因为在 JS 中导入很复杂,在 HTML 中是不可能的,需要拉两个 repo 来让每个项目运行等等。

你会怎么做?是否有任何 GIT 技巧可以支持我?

4

3 回答 3

0

我会做什么(我的术语可能与svn有关)......

A.新建一个仓库,把已有的代码作为一个分支

B. 开始对该分支本身的初始开发......

C. 一旦你觉得分支可以作为新项目的基础,就将它移到主干中......

这是一种另类的方式,但可以让您尽可能保持行李箱清洁。由于它是迁移的代码,因此完整的清理过程将需要多次发布......但尝试应该以尽可能干净的方式开始。

于 2012-08-11T14:05:15.640 回答
0

我会做什么(我确实使用 Git)。如下:

  1. 查看旧项目。
  2. 为我的新项目创建一个全新的存储库。
  3. 将两个项目分开,以免旧的支持文件、配置等污染项目。这对于像 iOS 这样的东西来说可能是一个真正的痛苦。
  4. 根据需要将我正在重用代码的旧项目中的位移动到新项目中。

除非项目基本相似,否则我发现采摘樱桃比试图从旧项目中卸下所有不必要的包袱容易得多。

我刚刚概述的策略不需要特殊的 Git 工具。

于 2012-08-11T14:09:46.423 回答
0

也许这与其说是版本控制问题,不如说是重构问题。听起来可能有足够的共享代码可以将通用功能提取到它自己的项目中,您可以在其他项目中引用(通过git-subtreegit-submodule)。这样,如果您确实对共享代码进行了修复/改进,您的所有项目都可以受益。

于 2012-08-11T14:17:56.290 回答