当我发布我的项目时,我想与更多的人分享源代码,而不是我通常在开发过程中所做的。代码通过 Git 存储库共享。为此,我使用了以下内容:
- 远程公共(public)存储库 - 已发布的代码每周左右推送一次 (http://example.com/public)
- 远程私有(private)存储库 - 非发布代码被推送到这里,超过每天 ( http://example.com/private )
在我的本地 git 存储库中,我定义了以下 Remote :
origin http://example.com/private
public http://example.com/public
我目前正在尝试配置 maven-release-plugin 来管理构建的版本控制,以及管理标记和将代码推送到公共(public)存储库。在我的 pom.xml 中,我列出了
<scm><connection>scm:git:http://example.com/public</connection></scm>
(去掉这一行会导致mvn release:prepare失败)
但是,调用时
mvn release:clean release:prepare release:perform
Maven 调用
git push origin tagname
而不是推送到 POM 中指定的 URL。
所以问题是:
- 最佳做法:我是否应该只在我的私有(private)仓库(来源)中进行标记和提交,然后手动推送到公共(public)仓库?
- 我可以让 Maven 推送到我选择的存储库,而不是默认的源吗?我觉得这是由
中的 元素的要求暗示的。
最佳答案
当 scm.connection 存储库与来源不同时发布已在 maven-release-plugin(或相关的 git 插件)的 2.0 版中得到修复。要更改为此版本,我将以下内容添加到我的 POM 中:
<project>
...
<build>
<plugins>
...
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.0</version>
</plugin>
...
</plugins>
</build>
...
</project>
顺便说一句,Maven 选择 maven-release-plugin 版本 2.0-beta-9 作为比 2.0 更新的版本。
关于git - 使用 maven-release-plugin 标记和提交非源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2624009/