如何合并同一个非常大的项目的两个版本

How to merge 2 version of same very large project

因此,我负责从 Java 1.5 迁移到 Java 1.8。首先我们改变了编译器(从 Ant 到 Maven),然后我们重新格式化了很多代码。 我们还删除了 Seam 框架,这花了我们相当多的时间。

到这里好了。

问题是其他同事继续在 1.5 版中工作,现在我需要带来所有所做的更改。这包括新的实体、包、数据、Hibernate 配置,甚至是数据库架构的更改。

问题是,我怎样才能在不永远头疼的情况下移动这些更改?请注意,基本上有 75% 的文件发生了变化,因为项目中的几乎所有注释都已更改。

非常感谢,抱歉我的英语不好。

所以不会有任何神奇的工具可以自动合并所有更改,但肯定有工具可以帮助查看和跟踪您需要合并的所有版本之间的差异。

像这样的情况就是为什么必须使用良好的通用编码实践和版本控制!我建议看一下为您的项目设置 GIT 存储库或某种形式的现代版本控制。

我打算进行此合并的方式如下:

  1. 在进行任何更改之前(在 1.8 更改/或同事更改之前)创建项目的初始 Git 存储库
  2. 复制对存储库进行最多更改的项目文件,确保保留存储库的 git 设置(隐藏的 .git 文件夹)
  3. 您应该能够 运行 git status 查看文件 added/modified/removed 和 'git diff' 查看实际更改
  4. 提交更改
  5. 将下一个更改引入 GIT 存储库
  6. 使用 git status / git diff 查看文件中的差异,查看保留您需要的更改(重复直到合并所有同事的更改)

There are different tools that will help look at differences ( diff ) in files

通过适当的版本控制和一个好的 diff 工具应该能够合并您的更改:)