Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Java项目直接放在源代码存储库下是最佳做法吗_Java_Git - Fatal编程技术网

将Java项目直接放在源代码存储库下是最佳做法吗

将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

在存储库下创建其他文件夹有什么优点和缺点吗

下面的示例场景进一步阐述了该问题:-

e、 假设我们使用Git作为SCM

选项1

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克隆”就可以为这个项目提供一切,而其他项目则一无所获。