【发布时间】:2011-02-07 02:47:34
【问题描述】:
当我发布我的项目时,我想与比我通常在开发期间更广泛的人共享源代码。代码通过 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><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 推送到我选择的存储库,而不是默认到源吗?我觉得这是由
中的 元素的要求所暗示的。
【问题讨论】:
-
(对不起,如果这有点漫无边际。)
-
这看起来像 maven-release-plugin 的一个错误:maven 将标签推送到本地源(git push origin 标签名),然后尝试从 pom 中指定的远程检查它(git拉example.com/public 标记名)。
标签: git maven-2 maven-release-plugin