当我发布我的项目时,我想与比我通常在开发期间更广泛的人共享源代码。代码通过 Git 存储库共享。为此,我使用了以下内容:
- 远程公共存储库 - 每周左右将发布的代码推送到这里(http://example.com/public)
- 远程私有存储库 - 非发布代码在这里推送,超过每天(http://example.com/private)
在我的本地 git 存储库中,我定义了以下遥控器:
origin http://example.com/private
public http://example.com/public
我目前正在尝试配置 maven-release-plugin 来管理构建的版本控制,并管理代码的标记和推送到公共存储库。在我的 pom.xml 中,我列出了 <scm/> 如下:
<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。
所以问题是:
- 最佳实践:我是否应该在我的私人回购(来源)中标记和提交,然后手动推送到公共?
- 我可以让 Maven 推送到我选择的存储库,而不是默认为源吗?我觉得这是由 <scm/> 中的 <connection/> 元素的要求所暗示的。