使用GIT将源代码从一个项目迁移到另一个项目

时间:2012-08-11 13:58:01

标签: git version-control branching-and-merging

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

我可以

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

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

  • 创建新项目,从最小主要部分开始,以及另一个库项目,作为旧项目和新项目的公共集合。然而,随着HTML和JS的开发,导致许多令人头疼的事情,因为导入在JS中是复杂的,在HTML中是不可能的,需要拉出两个回购以使每个项目运行等。

你会做什么?是否有任何支持我的GIT技巧?

3 个答案:

答案 0 :(得分:0)

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

一个。创建一个新的存储库并将现有代码作为分支

B中。在该分支上开始初始开发......

℃。一旦你到达一个你觉得分支可以作为新项目基础的阶段,就把它移到干线......

这是一种不受欢迎的方式,但可以让你保持干线尽可能干净。由于它是迁移的代码,因此完整的清理过程将需要多次发布......但尝试应尽可能以最小的努力开始。

答案 1 :(得分:0)

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

  1. 查看旧项目。
  2. 为我的新项目创建一个全新的存储库。
  3. 保持两个项目分开,以免污染项目与旧的支持文件,配置等。这可能是像iOS这样的真正痛苦。
  4. 根据我的需要,将我正在重用代码的旧项目中的位移动到新项目中。
  5. 除非项目大致相似,否则我发现樱桃采摘比试图从旧项目中卸下所有不必要的行李容易得多。

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

答案 2 :(得分:0)

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