我在Git中有两个名为Zeus和Odin的项目。两者都包含一些java包,文件和库。一个名为Olympos的特殊包装对两者来说都很常见,并且几乎包含了#io;相同的文件。区别在于Olympos for Zeus中的文件可能具有与DB交互的方法,但Odin中的文件永远不会(尽管它将包含具有相同名称但仅包含占位符代码的方法)。请查看以下示例以进一步说明:
public void adapterDB(){
// do something to connect with DB
// do something DB specific- fire queries
}
public void adapterDB(){
// do nothing and return null;
}
所以问题 - Olympos需要在两个项目中始终保持同步,这样当文件更改签入Zeus时,它会自动与Odin同步,反之亦然。但它必须有条件地发生:
- 如果要将新方法签入到包含与DB相关的操作的任何文件中(在Zeus中),只有方法头应同步到Odin,而不是实际的逻辑 - 如果要将新方法签入任何不包含DB相关操作的文件(在Zeus或Odin中),它应该在两个包中完全匹配。
显然,我想减少每次手动进行此类更改所需的额外时间,然后将它们单独同步到这些项目中,因为每周都有二十多个这样的更改。
使用Git这可能吗?或者在Git之外可能有更明显的解决方案(希望我不会错过房间里的大象)。