我想知道是否可以在多模块项目中使用maven-release-plugin,其中每个模块都有自己的git存储库?像这样:
parent/
.git/
pom.xml
module1/
.git/
pom.xml
我设置了一个简单的测试(在linux下)并且它失败了“git add”命令(简称):
cd parent && git add -- pom.xml /.../module1/pom.xml
错误消息是
fatal: /.../module1/pom.xml: '/.../module1/pom.xml' is outside repository
据我所知,这个git命令无法正常工作。 maven-release-plugin是否能够为每个存储库执行单独的“git add”命令?
对于这种情况,答案是否定的:假设我只有一个git存储库。我使用平面层次结构还是嵌套层次结构是否重要?
是否还有其他选项可用于自动版本控制/发布和保留多个git存储库?
答案 0 :(得分:1)
自从maven-release-plugin 2.0-beta-5开始,他们添加了一个名为commitByProject的新属性,在我的情况下(恰好是您的情况),我们可以根据每个项目来提交每个子模块(从root pom引用)使用“ git submodule add”策略)。这样就完成了工作!
MVN版本:prepare -DcommitByProject = true
答案 1 :(得分:0)
您可以使用git子模块在git存储库中包含其他git存储库。但是如果你的module1
依赖于parent
到maven(即<parent>
或者父有dependencyManagement),那么似乎module1实际上不是一个独立的模块,不应该拥有它自己的存储库在我看来。
关于层次结构我更喜欢嵌套的层次结构,以便更容易地看到父级和模块。