将Java项目直接放在源代码存储库下是最佳做法吗
在存储库下创建其他文件夹有什么优点和缺点吗 下面的示例场景进一步阐述了该问题:- e、 假设我们使用Git作为SCM 选项1将Java项目直接放在源代码存储库下是最佳做法吗,java,git,Java,Git,在存储库下创建其他文件夹有什么优点和缺点吗 下面的示例场景进一步阐述了该问题:- e、 假设我们使用Git作为SCM 选项1 myrepository/my-favorite-maven-project-1 |____pom.xml /my-favorite-maven-project-2 |____pom.xml 选项2 myrepository/SomeFolder1/my-favor
myrepository/my-favorite-maven-project-1
|____pom.xml
/my-favorite-maven-project-2
|____pom.xml
选项2
myrepository/SomeFolder1/my-favorite-maven-project-1
|____pom.xml
/SomeFolder1/SomeFolder2/my-favorite-maven-project-2
|____pom.xml
我想了解选项1和选项2的利弊 如果两个项目实际上是彼此的模块,并且它们同时发布/分支,那么将多个maven项目放在一个git存储库下是有意义的 如果你从SVN搬来,在那里你有一个大型SVN回购协议,很多项目彼此相邻,这是一个错误。原因是,SVN分支/标记在文件夹级别工作,但在Git中,它们在存储库级别工作。因此,如果您分别分支/发布
project-1
和project-2
,那么它们应该位于单独的Git存储库中
由此推论,拥有顶级文件夹
SomeFolder1
没有什么意义,因为几乎没有理由拥有SomeFolder2
,只要项目可以在需要时找到彼此,这并不重要(因此,在项目2进行更改之前,您不必安装项目1)@Thorbjørnravandersen如果您没有进入git子模块而没有在project-2
上工作,您如何只签出project-1
?您不能。根据我的个人经验,每个项目都有一个单一的回购协议和多个maven模块,效果最好。换句话说,一个“git克隆”就可以为这个项目提供一切,而其他项目则一无所获。