我开发了一个Java应用程序。它有一个宽核心库,它与Java 6兼容,可以在所有平台上使用。目前,应用程序在单个git存储库中进行管理。在早期阶段,我在Android上使用AIDE来开发核心。后来我搬到了桌面(Eclipse),我创建了桌面GUI(Swing)。现在,我想用AIDE在Android上创建Android GUI。当然,AIDE提醒我,如果找到任何Swing或Java 7类(因为桌面GUI) - 反之亦然(不幸的是,Java不支持像C / C ++这样的编译器条件)。
在git中管理这种情况的最佳方法是什么?
我有一些想法:
分支:每个GUI /平台的分离分支。我认为这使得合并变得非常困难
子模块:这是最“官方”的。但我不知道,我如何在Eclipse项目中使用它。感谢所有解决方法的建议。
单独的存储库:对于最糟糕的情况......
答案 0 :(得分:1)
git唯一处理的是文件系统中的文件。每个提交对应一组给定的文件,git非常擅长处理这个。
Git没有Java项目的特殊概念。您必须使用Java构建工具在git级别上处理您遇到的问题。
Maven是一种广泛使用的Java构建工具。您可以考虑将源代码重构为Maven模块,一个用于核心功能,一个用于Swing API,一个用于Android前端。所有这些都可以在一个git存储库中。