git - 使用 maven-release-plugin 标记和提交非源

标签 git maven-2 maven-release-plugin

当我发布我的项目时,我想与更多的人分享源代码,而不是我通常在开发过程中所做的。代码通过 Git 存储库共享。为此,我使用了以下内容:

在我的本地 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。

所以问题是:

  1. 最佳做法:我是否应该只在我的私有(private)仓库(来源)中进行标记和提交,然后手动推送到公共(public)仓库?
  2. 我可以让 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/

相关文章:

java - 将 MySQL 连接器 JAR 放在我的 WAR 的 WEB-INF/lib 中而不是在 $CATALINA_HOME/common/lib 中?

Maven 在此目录中没有发布 POM

Maven 发布插件中的 git-commit 问题

python - 尝试部署到heroku但不断被拒绝

git - Cruise Control .net git 日志无效修订范围

python - 如果有任何东西要 pop ,只调用 'git stash pop'

xml - 使用环境变量的 Maven 本地存储库

git - 什么时候删除本地分支是安全的?

maven-2 - 将版本化的 WAR 文件部署到 tomcat

Maven 发布插件 : Doing the git push via https